0
看了看四周左右,但找不到任何有用的,所以..觸發骨幹事件功能
我有一個接觸卡視Backbone.js的接觸模式。該視圖有許多輸入,您可以在其中編輯聯繫人信息。
我在頁面上有很多其他形式的主幹模型,所以他們使用'保存按鈕'來保存。我基本上要保存這個按鈕也觸發Contacts.CardView.saveCard();
(這有可能是FileApp.cardView.saveCard as well?
- 我的一些代碼如下
有沒有辦法做到這一點,我想我可以只使用以下,但似乎它?事件不會綁定到任何東西的看法?:
events: {
"change input": "change",
"click #save": "saveCard"
},
$('#save').click(function() {
FileApp.cardView.saveCard;
_SAVE.save();
})
CardView外
window.Contacts.CardView = Backbone.View.extend({
events: {
"click #save": "saveCard" // doesnt work because #save is outside the view?
},
saveCard: function(e) {
this.model.set({
name:$('#name').val()
});
if (this.model.isNew()) {
var self = this;
FileApp.contactList.create(this.model, {
success:function() {
FileApp.navigate('contacts/' + self.model.id, false);
}
});
} else {
this.model.save();
}
return false;
}
}
路由器:
var FileRouter = Backbone.Router.extend({
contactCard:function (id) {
if (this.contactList) {
this.cardList = new Contacts.CardCollection();
var self = this;
this.cardList.fetch({
data: {
"id":id
},
success: function(collection, response) {
if (self.cardView) self.cardView.close();
self.cardView = new Contacts.CardView({
model: collection.models[0]
});
self.cardView.render();
}
});
} else {
CONTACT_ID = id;
this.list();
}
}
});
var FileApp = new FileRouter();
謝謝!這很好:) – Benno
如果我使用require.js與多個文件,我該如何實現這一點? – Lion789