是否可以在Durandal中为小部件使用适当的文件名

时间:2014-03-02 07:16:02

标签: durandal durandal-2.0

使用Durandal小部件,您必须为每个小部件创建一个文件夹,然后在每个文件夹中创建2个文件。例如,mywidget文件夹包含view.htmlmodel.js个文件。

这种命名方式使得难以在解决方案中查找文件。有没有办法命名这些文件名,如mywidget.htmlmywidget.js

1 个答案:

答案 0 :(得分:1)

如果您想使用自己的约定,可以覆盖Widget插件相对容易加载其部件的方式。例如,如果您希望您的约定是窗口小部件的视图和视图模型都以窗口小部件的类型命名,则可以执行此操作:

define(["plugins/widget"], function (widget) {
    // Look in 'widgets/[kind]' for '[kind].html' and '[kind].js'
    var convertKindToKind = function (kind) {
        return "widgets/" + kind + "/" + kind;
    };

    widget.convertKindToModulePath = convertKindToKind;
    widget.convertKindToViewPath = convertKindToKind;
});

或者,您可以使用mapKind函数进行“一次性”非传统窗口小部件映射:

// Parameters are: Widget kind, viewId, moduleId
widget.mapKind("mywidget",
    "widgets/mywidget/mywidget",
    "widgets/mywidget/mywidget");