입력 한 내용이 HTML 파일입니다. 내 버튼은 js 파일에 있습니다. 임 초보자 여기 가르쳐주세요. 여전히 백본을 혼동합니다 .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)라고 부를 수 있습니다. 'bind' 또는'bindAll' 대신'this.listenTo'를 사용하십시오. –