Tôi có chế độ xem myView
và một bộ sưu tập myCollection
. Khi tôi add
mô hình đến myCollection
, sự kiện add
được kích hoạt bởi myCollection
. Làm cách nào để có được số add
sự kiện?Có chế độ xem nghe sự kiện thu thập
10
A
Trả lời
17
Bạn có thể chuyển tập hợp vào chế độ xem khi bạn khởi tạo nó và sau đó bạn có thể có chế độ xem gắn với sự kiện thêm trên bộ sưu tập trong phương pháp khởi tạo.
Dưới đây là một ví dụ mã
MyView = Backbone.View.extend({
initialize: function() {
this.collection.bind('add', this.onModelAdded, this);
},
...other view functions
onModelAdded: function(addedModel) {
//do something
}
}
Và đây là cách bạn vượt qua các bộ sưu tập trong khi bạn nhanh chóng xem
var view = new MyView({ collection: myCollection });
3
Bạn cần phải ràng buộc tầm nhìn của bạn để lắng nghe trên "thêm" sự kiện trong bộ sưu tập của bạn:
var MyView = Backbone.View.extend({
initialize: function(){
this.collection.bind('add', this.somethingWasAdded, this)
},
somethingWasAdded: function(){
}
});
new MyView({collection: myCollection})
11
Sau khi ver. 0.9.9 (được thêm vào ngày 13 tháng 12 năm 2012) nên sử dụng listenTO.
Phù hợp với điều này:
var MyView = Backbone.View.extend({
initialize: function() {
this.listenTo(this.collection, 'add', this.onModelAdd);
},
onModelAdd: function(model) {
// do something
}
});
var myCollection = new MyCollection();
var myView = new MyView({collection: myCollection});