私は次のモデルを持っています:
App.Item = Backbone.Model.extend({
urlRoot : '/item',
// Default attributes
defaults: {
user_has_liked: false,
},
initialize: function(){
this.on('item-id-changed', this.onItemIdChange);
},
onItemIdChange: function(itemId){
console.log('item id change');
this.set({'id': itemId});
var that = this;
this.fetch({
success: function (item) {
}
})
},
クリック時に次のトリガー:
このモデルがバインドされているビューではない私の他のビューでは:
loadNewItem: function(ev) {
ev.preventDefault();
var self = $(ev.currentTarget);
var itemId = $(self).attr('data-item-id');
//trigger a new event for listener
if (itemId) {
console.log('triggger');
this.trigger('item-id-changed', itemId);
}
},
なぜそれonItemIdChange
は決して呼び出されないのですか?