每当我将新模型添加到我的收藏时,我都会尝试更新我的视图。我的第一个问题是,当我保存该模型时,是否会自动将模型添加到我的收藏中,例如:
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);
}
});
这不仅不起作用,而且当我添加初始化方法时,它只会在第一次加载页面时复制模型中的所有内容。