我将我的观点分成不同的文件。在我的主视图中,我试图在另一个视图中调用一个函数。有没有办法在Backbone.js中执行此操作?
答案 0 :(得分:3)
一种好方法是使用Mediator模式,这样就不会紧密地结合你的观点。
在最新版本的Backbone中,Backbone
对象可以用作中介。
在视图1中:Backbone.trigger('somethingHappened', {id: 1});
在视图2中:
//action when 'something' happens
onSomething : function(data){
console.log('Got that: ' + data.id)
}
//... in the view init ...
Backbone.on('somethingHappened', onSomething)
//... in the view destruction...
Backbone.off('somethingHappened', onSomething);
您也可以使用更新的listenTo
方法。
当然,只有在初始化view2时它才会起作用。