如何从另一个骨干视图调用骨干视图中的功能

时间:2012-12-24 05:12:44

标签: javascript backbone.js

在我目前的应用程序中,我的一个主干视图中有一个save函数。

custom_save : function() { // this method's save code // have to call another views save function here }

其他视图名称为App.SettingsView,并且它具有save方法。我必须在save逻辑之后立即调用此custom_save方法。如何在App.SettingsView save函数内调用custom_save函数。请不要两个都是2个不同的文件

由于

2 个答案:

答案 0 :(得分:11)

你到达那里是一种不好的做法。视图之间的耦合。为什么不创建从Backbone.Events继承的EventBus,然后触发另一个视图也订阅的事件。当事件发生时,只需触发它的保存功能

查看#1保存

save:function(){
 EventBus.trigger("save:view");
}

查看#2保存

initialize:function(){
 EventBus.on("save:view:",this.save);
},
save:function(){
//your code
}

听起来不错?它应该:))

答案 1 :(得分:3)

创建一个新的视图对象并调用它。

var anotherView = new App.SettingView();
anotherView.save();