1

我将我的观点分成单独的文件。在我的主视图中,我试图在另一个视图中调用一个函数。有没有办法在 Backbone.js 中做到这一点?

4

1 回答 1

3

一个好方法是使用调解器模式,这样您就不会紧密耦合您的视图。在最新版本的 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 已经初始化的情况下才会起作用。

于 2013-02-27T14:35:54.313 回答