나는 처음으로 backbone.js 문제를 해결하고 있으며 컬렉션을 사용하는 데 어려움이 있습니다. 콘솔에서 볼 때, 문제는 컬렉션 뷰를 DOM으로 출력하는 것으로 보인다. 콜렉션 데이터는 콘솔에서 올바르게 형식화되어 브라우저에 나타나지 않습니다. 나는 내가 뭘 잘못 알아낼 수 없습니다 : 여기Backbone.js 컬렉션보기 콘솔에서 제대로 형식이 지정되었지만 Dom에 표시되지 않음
var RegisterModel = Backbone.Model.extend({
urlRoot: 'api/process.php'
});
var RegisterView = Backbone.View.extend({
el: "#register",
template: _.template('<label for="<%= inputName %>"><%= label %></label><input name="<%= inputName %>" type="text" />'),
render: function() {
this.$el.html(this.template(this.model.toJSON()));
return this;
}
});
var RegisterCollection = Backbone.Collection.extend({
model: RegisterModel
});
var RegisterCollectionView = Backbone.View.extend({
initialize: function(){
this.collection.on('add', this.addOne, this);
this.collection.on('reset', this.addAll, this);
},
addOne: function(registerModel){
var registerView = new RegisterView({model: registerModel});
this.$el.append(registerView.render().el);
},
addAll: function(){
this.collection.forEach(this.addOne, this);
this.$el.empty();
},
render: function(){
this.addAll();
return this;
}
});
var registerCollection = new RegisterCollection();
var todos = [{inputName: "first_name", label: "First Name"}, {inputName: "last_name", label: "Last Name"}];
registerCollection.reset(todos);
var registerCollectionView = new RegisterCollectionView({collection: registerCollection});
registerCollectionView.render();
없음 콘솔 오류 :이 작업을 추가 할 수 있어야
? – Jivings
아니요. 콘솔 오류 또는 경고가 없습니다. – Thomas