我的輸入是在HTML文件中我的按鈕在js文件中。我是初學者,請教我。我仍然困惑backbone.js如何在我點擊按鈕後清除backbone.js中的文本框?
var ListView = Backbone.View.extend({
el: $('body'),
events: {
'click button#add': 'addItem'
},
initialize: function() {
_.bindAll(this, 'render', 'addItem', 'appendItem');
this.collection = new List();
this.collection.bind('add', this.appendItem);
this.counter = 0;
this.render();
},
render: function() {
$(this.el).append("<button id='add' class='btn btn-primary clear'>Add Items</button>");
$(this.el).append("<ul class='ul_adjust'></ul>");
_(this.collection.model).each(function (item) {
appendItem(item);
}, this);
},
addItem: function() {
var item = new Item();
item.set({
part1: $("#name").val()
});
this.collection.add(item);
},
appendItem: function (item) {
var itemView = new ItemView({
model: item
});
$('ul', this.el).append(itemView.render().el);
},
});
你知道了嗎? 我刪除了一些不必要的,但我認爲這將插入這裏的某處。
您應該使用'this。$ el'而不是'$(this.el)'。此外,要查看視圖中的元素,請使用'this。$(selector)'。骨幹集合已經有'each'函數,你可以直接調用它'this.collection.each(function(){...},this);'。使用'this.listenTo'而不是'bind'或'bindAll'。 –