Backbone 命名空间打开视图

Backbone Namespaces Open View

希望有人能给我一些有用的提示。

app.js

;(function(app){

'use strict';

app.on('start', function(){
     var view = new app.base.base_documents.views.DokumentenView();
     view.render();
});

})(window.app);

下面的代码有没有更短更好的写法

var view = new app.base.base_documents.views.CustomView();
view.render();

也许有一种方法可以像这样调用我的视图:

var view = CustomView();
view.render() 

我的views.js

;(函数(应用程序){

'use strict';

app.module('base.base_documents.views', function (module, App, Backbone, Marionette) {


    module.CustomView = Marionette.CompositeView.extend({
    ...
    });
}(app));

根据保存视图的位置 (namespace-wise),您可以将 app.base.base_documents.views 传递给 IIFE:

;(function(app, views){

  'use strict';

  app.on('start', function(){
       var view = new views.DokumentenView();
       view.render();
  });
})(window.app, window.app.base.base_documents.views);

但是您可能在其他嵌套命名空间中有视图,因此对于那些您需要做同样的事情 - 最终会产生类似的结果。您可以在呈现视图时通过命名空间逐步执行,或者在传递参数时执行。