2013-07-30 89 views
3

如果特定字段更改爲特定值,是否可以偵聽集合中模型的更改?模型上的骨幹集合更改事件

我知道,像「變化:字段名」存在,我正在尋找像「changeTo:字段名=真正的」

+0

檢查回調函數中的值有什麼問題? – fbynite

回答

5

這裏沒有一個「快捷方式」這樣做的方式。你必須聽正常的change事件,並且在你的聽衆中,看看這個值是否已經改變爲你感興趣的東西。然後,宣傳這個活動,開一個新的活動,或者做些東西。

Backbone.Collection.extend({ 

    initialize: function() { 
     this.on('change:property', this.onChange); 
    }, 

    onChange: function(e) { 
     // sorry for pseudo-code, can't remember syntax by heart, will edit 
     if (e.newValue == true) 
      myLogic(); 
    } 

} 
1

你可以不聽一個明確的值,因爲這不會在一般情況下很好地工作,但你可以很容易地結合到一般的處理程序,並運行代碼,基於這一點。

var MyCollection = Backbone.Collection.extend({ 
    initialize: function(models, options){ 
    this.on('change:myProperty', this.changeMyProperty_, this); 
    }, 

    changeMyProperty_: function(model, value){ 
    if (value) this.myPropertyTrue_(model); 
    }, 

    myPropertyTrue_: function(model){ 
    // Do your logic 
    } 
});