Làm cách nào để liên kết chế độ xem xương sống với tập hợp chứ không phải là mô hình? Tôi có cần bọc bộ sưu tập trong một mô hình không?Tạo chế độ xem xương sống cho bộ sưu tập
ví dụ:
Nếu tôi có một khách hàng mô hình xương sống và một bộ sưu tập của những tên Khách hàng
Client = Backbone.Model.extend({
defaults: {
Name: ''
}
});
Clients = Backbone.Collection.extend({
model: Client,
url: 'Clients'
});
và một cái nhìn
var ClientListView = Backbone.View.extend({
template: _.template($("#clients-template").html()),
el: $('#clientlist'),
initialize: function() {
_.bindAll(this, 'render');
this.collection = new Clients();
},
render: function(event){
$(this.el).html(this.template({ this.collection.toJSON()));
return this;
}
});
sau đó tôi không thể truy cập mỗi yếu tố khách hàng trong các mẫu gạch dưới. Tuy nhiên, nếu tôi gói bộ sưu tập như thế này
$(this.el).html(this.template({ clients: this.collection.toJSON() }));
thì tôi có thể. Đây có phải là cách chính xác để giải quyết vấn đề này không? Tôi cho rằng đây là một kịch bản phổ biến nhưng tôi không thể tìm thấy bất kỳ ví dụ nào về nó, tôi có đi sai đường không?
Bạn có cần 'var that = this;' ở đầu phương thức khởi tạo trong ví dụ sau không? – dubilla
@dubilla Không, xương sống đặt ngữ cảnh thành 'this' cho các phương thức gạch dưới proxied. – EleventyOne
Tại sao có một ký tự gạch dưới cho 'this._donutViews = [];'? – fortuneRice