我希望有人能给我一些有用的提示。
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()
我的观点.js
;(function(app){
'use strict';
app.module('base.base_documents.views', function (module, App, Backbone, Marionette) {
module.CustomView = Marionette.CompositeView.extend({
...
});
}(app));
答案 0 :(得分:1)
根据您的观点保存位置(命名空间),您可以将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);
但是您可能在其他嵌套命名空间中有视图,因此对于那些您需要执行相同操作的视图 - 这最终会给出类似的结果。您可以在渲染视图时逐步执行命名空间,也可以在传递参数时执行此操作。