我會真的瘋了一件事:Backbone.js的listenTo問題,對象的翻譯:有沒有方法「叫」
var BoardNumber = Backbone.Model.extend({
defaults: function(){
return {
value: 0,
selected: false
};
},
toggle: function() {
this.save({selected: !this.get("selected")});
}
});
var BoardNumberView = Backbone.View.extend({
tagName: "li",
template: _.template('<div class="boardNumber"><p>{{value}}</p></div>'),
events: {
"click .boardNumber": "toggleDone",
"click .selected": "toggleDone"
},
initialize: function() {
this.listenTo(this.model, 'change', this.render);
},
render: function() {
this.$el.html(this.template(this.model.toJSON()));
return this;
},
toggleDone: function (evt) {
this.model.toggle();
}
});
var NumbersOnBoard = Backbone.Collection.extend({
model: BoardNumber,
toGenerate: 80,
url: "/numbers",
initialize: function(){
var i = this.toGenerate;
while(i--){
this.create({ value: this.toGenerate-i });
}
},
selected: function(){
return this.where({selected: true});
}
});
,並沒有別的應該是必要的..當我點擊它,在標題中有這個錯誤,我真的不知道它可能是什麼
編輯:添加收藏和完整的視圖。 注意:點擊完全啓動this.render事件,只有這樣纔會發生錯誤,並且就像該模型的事件偵聽器消失一樣。
編輯#2:對於堆棧跟蹤,在骨幹網的發展版本,它表明:
triggerEvents backbone.js:205
Backbone.Events.trigger backbone.js:146
_.extend._onModelEvent backbone.js:933
triggerEvents backbone.js:206
Backbone.Events.trigger backbone.js:147
_.extend.set backbone.js:370
你能不能把它放在一個小提琴?現在看來似乎缺少了一些東西。視圖的模板怎麼樣? –
你沒有向我們展示的部分正在發生,基本結構(http://jsfiddle.net/ambiguous/kKPB2/)似乎很好。 –
謝謝你,我添加其他地方.. – LowFieldTheory