में संग्रह ईवेंट श्रोता जोड़ें जब भी मैं अपने संग्रह में नया मॉडल जोड़ता हूं, तो मैं अपना दृश्य अपडेट करने का प्रयास कर रहा हूं।संग्रह बैकबोन
PostsApp.Views.Form = Backbone.View.extend({
template: _.template($('#form-template').html()),
render: function(){
this.$el.html(this.template(this.model.toJSON()));
},
events:{
'click button' : 'save'
},
save: function(e){
console.log("is this working");
e.preventDefault();
var newname = this.$('input[name=name-input]').val();
var newadress = this.$('input[name=adress-input]').val();
this.model.save({name: newname, adress : newadress});
}
});
या मैं अभी भी कर collection.add()
अन्य कि देखने के लिए की तुलना में क्या करना है: मेरा पहला सवाल मैं अपने आप जब मैं, उस मॉडल को बचाने की तरह मेरे संग्रह करने के लिए एक मॉडल में शामिल कर सकता है मेरे विचार में नए मॉडल मैं इस तरह एक 'जोड़ें' घटना श्रोता जोड़ने के लिए कोशिश कर रहा हूँ:
PostsApp.Views.Posts = Backbone.View.extend({
initialize: function(){
this.collection.on('add', this.addOne, this);
},
render: function(){
this.collection.forEach(this.addOne, this);
},
addOne: function(post){
var postView = new PostsApp.Views.Post({model:post});
postView.render();
this.$el.append(postView.el);
}
});
यह न केवल काम नहीं करता है, लेकिन जब मैं इनिशियलाइज़ विधि जोड़ने, यह सिर्फ अपने मॉडल में सब कुछ डुप्लिकेट जब पेज पहले लोड किया गया है।
धन्यवाद जहां होना चाहिए इस collection.create ({मॉडल}); मेरे कोड में हो? –
तो मूल रूप से आप संग्रह में 'सबव्यू' में पास करेंगे और 'सबव्यू' की सहेजी विधि में आपको इसे –
का उपयोग करने की आवश्यकता होगी, मुझे लगता है कि सहेजने की विधि में, इसलिए जब मैं एक नया फॉर्मूवव्यू बनाता हूं तो मुझे पास करना होगा एक मॉडल के बजाय एक संग्रह? –