2011-12-21 35 views

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}); 
Các vấn đề liên quan