我有两个不同的骨干js文件,用于2个不同的视图。我需要从第一个js文件中调用第二个js文件的render方法。我怎么能这样做
我有一个backbone.js文件,它作为一个名为DocumentsPageView的视图。在我的第二个主干js文件中,当我点击第一个js文件上的按钮时,我必须调用DocumentsPageview的render方法
first.backbonejs = (function($) {
case myapp
sectionView = new second.mysecondbackbone.DocumentsPageView();
sectionView.render();
break;
}
}(jQuery)
second.mysecondbackbone = (function($) {
var DocumentsPageView= Backbone.View.extend({
render: function(){
//render the page
}
});
}(jQuery)
我在声明部分
中未定义对象谢谢&问候 Ashik
答案 0 :(得分:0)
我的建议是,不要。
使用介于两者之间的介体对象,并控制使用两个视图的过程。
可以这么简单:
myProcess = {
show: function(){
var view1 = new View1();
view1.on("foo", this.doMoreStuff, this);
this.showView(view1);
},
doMoreStuff: function(){
var view2 = new View2();
this.showView(view2);
},
showView: function(view){
// code to stuff view.$el in to the DOM
}
}
这里的优势在于您拥有一个高级工作流,可以自行管理和维护,与各个视图的实现细节分开。您无需追踪各个视图即可查看它们如何协同工作。
我在这里写了更多关于此的内容:http://lostechies.com/derickbailey/2012/05/10/modeling-explicit-workflow-with-code-in-javascript-and-backbone-apps/