tôi có một cái nhìn mà phải mất một collection
như dưới đây:Binding kiện thay đổi Backbone để thuộc tính của mô hình trong một bộ sưu tập
MyView = Backbone.View.extend({
initialize: function() {
this.collection.on("change://an attribute of a model in aCollectionToRender", someAction);
}
});
var MyViewInstance = new MyView({
collection: aCollectionToRender
});
Về cơ bản, tôi không muốn MyView
để nghe cho những thay đổi trên toàn bộ bộ sưu tập, chỉ một thuộc tính duy nhất của mô hình mà bộ sưu tập chứa.
Tôi nhận thấy có một số lựa chọn thay thế như sau:
- Tạo quan điểm cho mỗi mô hình của
aCollectionToRender
và đính kèm.on("change")
sự kiện trong những quan điểm. Tôi không muốn làm điều này bởi vì đó không phải là điều đúng để làm cho hoàn cảnh của tôi - Chỉ cần có sự kiện
this.collection.on("change")
và có bộ lọc xử lý sự kiện dựa trên các yêu cầu của tôi. Điều này ít thanh lịch hơn và nếu Backbone đã cho phép tôi viết bộ lọc sự kiện như tôi đã yêu cầu ở trên, thì đây là mã trùng lặp
Tôi đã tự hỏi liệu có cách nào để viết trình xử lý sự kiện đã lọc hay không. Câu hỏi này cũng có thể là một bản sao; Tôi nhìn nhưng tôi không tìm thấy bất cứ điều gì chính xác như thế này, tuy nhiên, có rất nhiều câu hỏi Backbone
Doh! Tôi nghĩ bạn đúng! Vì một số lý do tôi nghĩ khi đó là một bộ sưu tập, 'attributeName' trong' change: attributeName' được gọi là thuộc tính của bộ sưu tập chứ không phải là mô hình. – Jay
ok, nhưng làm thế nào bạn có thể làm điều này: this.collection.on ("thay đổi", chức năng (mô hình, tài sản) {// có được tài sản đã được thay đổi ở đây ...}); ??? –