我試圖將更改事件綁定到模型,但不起作用。這裏是鏈接:http://jsfiddle.net/kahhor/jp4B6/2/。我想,我犯了一個愚蠢的錯誤,我無法弄清楚。在backbone.js中將更改事件綁定到模型
我認爲問題是,這是兩種不同的觀點......
對不起,在新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});
我在做什麼錯在這裏? :(
+1的慣用方法模型/視圖是你將模型傳遞給視圖。你實際上並沒有在視圖內創建它們。 OP的例子說明了原因。在BB中共享相同的數據是很常見的。最常見的情況是,列表視圖具有模型集合(模型),而項目視圖具有所收集項目的模型......最終有一個引用返回它所屬的集合。儘管如此,視圖通過其他方式(比模型)進行通信也很常見,例如事件聚合器在特定的視圖中進行查看時。 –
謝謝,我吸取了我的教訓:))我看到了時間的例子,在視圖內創建模型對象的copuple,我認爲這是它的方式,假設是......但它工作得很好,問題是我也必須包含PopupModel,所以我猜是因爲它給了我錯誤,我加入了這個問題。 – kaha