2014-10-09 18 views
0

我有一個屬性「狀態」,我想觀察不能得到燼模型觀測到火上的屬性更改

App.Batch = DS.Model.extend({ 
    state: DS.attr('string'), 

    stateChanged: function() { 
    console.log('observed') 
    }.observes('state') 
}); 

批處理模式是通過調用更新batch.reload(模型)

_.each(pertinentBatches, function (batch) { 
    batch.reload(); 
    }); 

我可以驗證在餘燼重新加載後,在餘燼控制檯中state屬性正在改變。爲什麼這不會導致觀察員開火?

回答

1

可能是因爲模型在重新加載時被重新初始化,觀察者在默認情況下不會觸發init,請嘗試將.on('init')添加到您的觀察者。

+0

@Holger我相信我確實回答了這個問題?我已經澄清了一點點的答案 – Jakeii 2014-10-09 16:16:26

+1

基本上它看起來像一個猜測,現在澄清它看起來更好。 – Holger 2014-10-09 16:45:33

+1

'init'只有在記錄最初創建時纔會被調用,而不是在我的知識中重新加載時才被調用。據我所知,觀察員應該在這種情況下開火,所以問題很可能在別處。 – 2014-10-09 16:56:29