我的问题是在我的应用程序中的某个时间绑定一个模型,该模型是在初始化时创建的View。让我解释一下:
在我的路线中,我认为是一个观点:
...
var view = new app.FirstView();
view.render();
在
app.FirstView = Backbone.View.extend({
initialize: function(){
...
this.SidebarView = new app.SidebarView();
}
... });
在我申请期间的某个时间X,我在另一个视图中有这种行为:
app.AnotherView = Backbone.View.extend({
...
onClickHandler: function(){
var aModel = app.aModel();
var view = app.aView({ model: aModel });
}
})
我现在的问题是,将aModel
中定义的onClickHandler
绑定到我创建的SidebarView
,并在初始化时绑定到FirstView
。
如果不清楚,请告诉我。
提前致谢
答案 0 :(得分:2)
一种解决方案是使用事件,例如,
在您的AnotherView中触发事件并将模型传递给View
onClickHandler: function(){
var aModel = app.aModel();
Backbone.trigger('model:assigned',aModel);
}
在你的侧栏查看初始化你应该听事件
Backbone.on("model:assigned",function(passedModel){
this.model = passedModel;
})
注1:您必须确保在触发事件时初始化sidebarView。
Note2 :尝试避免使用全局事件,因为我不知道您的代码结构。