2012-05-17 54 views
4

我有一個有幾個嵌入模型作爲屬性的燼數據模型(父)。當我更新嵌入式模型hasMany數組時,父級不會進入更新/髒狀態。我如何手動將父級發送到髒狀態?燼數據:手動發送模型到更新狀態

我已經試過沒有運氣以下:

parent.set('isDirty', true); 
parent.get('stateManager').goToState('dirty') 
parent.get('stateManager').goToState('updated.uncommitted') 
+0

只是一個問題......你怎麼檢測嵌入式模型hasMany數組的變化? – ThomasDurin

+0

我有這個完全相同的問題(除了我的關係沒有嵌入)。感謝您的問題和答案!這看起來像一個錯誤,不是嗎?如果更新父項的hasMany數組,它應該被標記爲髒。也許它只是用新父母更新孩子,孩子需要保存?在我的情況下,父母的hasMany有一個空逆(孩子沒有父母關係)。也許這是問題? – KOGI

+0

@ThomasD您可以添加觀察者方法,觀察'myHasMany。@ each.id'或'myHasMany.length' – KOGI

回答

0

如果您使用的是Ember data(v1.0.0> x)。

parent.get('stateManager').goToState('updated') 

不工作了。 現在你應該使用

parent.transitionTo('updated'); 

這些是與Ember數據船舶有效狀態的層次結構:

* root 
    * deleted 
    * saved 
    * uncommitted 
    * inFlight 
    * empty 
    * loaded 
    * created 
     * uncommitted 
     * inFlight 
    * saved 
    * updated 
     * uncommitted 
     * inFlight 
    * loading 

Sourece of the states

5

終於找到了解決辦法我自己:

parent.get('stateManager').goToState('updated') 

我還要提到的是增加一個屬於關聯關聯的兒童在家長會如果hasMany關聯被改變,則變得不清楚。但是我仍然需要手動弄髒孩子正常的財產變化的情況。