我正在尝试将更改事件绑定到模型,但是无法正常工作。这是链接:http://jsfiddle.net/kahhor/jp4B6/2/。我想,我正在做一些愚蠢的错误,我无法弄明白。
我认为问题在于它是两种不同的观点......
抱歉,在backbone.js中新建,只是学习:)。
谢谢,
更新:我改变了调用视图和模型的方式:
/* MODELS */
var PopupM = new PopupModel();
var TaskbarM = new TaskbarModel();
var LeftNotificationM = new LeftNotificationModel();
/* /MODELS */
window.PopupView = new PopupView({model: PopupM, LeftNotificationModel: LeftNotificationM});
window.TaskbarView = new TaskbarView({model: TaskbarM});
window.TaskbarView.loadTaskbar();
window.LeftNotificationView = new LeftNotificationView({model: LeftNotificationM});
window.LeftNotificationView.loadLeftNotification();
一切正常,除非我正在调用decrementNotification()
Firebug中显示此错误消息:
this.LeftNotificationModel is undefined
this.LeftNotificationModel.decrementNotification();
但我已在此声明:
window.PopupView = new PopupView({model: PopupM, LeftNotificationModel: LeftNotificationM});
我在这里做错了什么? :(
答案 0 :(得分:3)
我看到你想要根据一个模型的状态改变两个视图的行为。
我不太确定PopupModel
应该做什么,所以我省略了它。
基本上,您希望创建一个模型LeftNotificationModel
并将其传递给选项参数中的两个视图。
var my_model = new LeftNotificationModel();
window.LeftNotificationView = new LeftNotificationView({ model: my_model});
window.LeftNotificationView.render();
window.PopupView = new PopupView({ model: my_model});
window.PopupView.render();
请参阅JSFiddle以获取正在运行的示例:http://jsfiddle.net/dj4cp/1/
答案 1 :(得分:1)
响应您的修改,这确实是一个新问题:
不要忘记将decrementNotification
绑定到您的对象:
initialize: function() {
_.bindAll(this, "decrementNotification");
}