2017-04-10 43 views
0

後檢測Ember.js關係變化我有如何createRecord

Ember.computed("task.inputValues.[]", .. 

在裏面一定條件下這種方法,我觸發具有與屬於關聯設置任務新inputValues創作。但經過記錄和關係的灰燼數據庫成功設置(使用「createRecord‘),’task.inputValues。[]」不捉/觸發計算方法重新計算?

+1

沒有直接關係,但一般人們建議避免副作用計算特性(如創建新記錄)。原因是如果您在使用Ember商店時組件被破壞,最終可能會在奇怪的地方獲得錯誤。你有沒有研究過使用ember-concurrency任務來處理你的需求?它可能會簡化其他事情(或幫助您避免將來出現的併發問題...) – acorncom

+0

從組件我發送信號給控制器,在存儲時調用createRecord。那麼如果它會得到重新計算singnal將不會再次發送。 (當我強制重新計算另一個動作時,所有東西都會按照它應該繪製的,但是在開始時我必須檢查是否存在某些實體,如果不存在,那麼我必須在那時創建它們並強制重繪) –

回答

0

由於Acorncom提到的「人建議避免副作用計算性能(如創建新記錄)

似乎有某種灰燼中保護,通過自身禁止計算財產的遞歸觸發。

解決的辦法是從計算資源移至記錄創建的代碼來觀察,經過新的記錄得到了觀察員插,計算性能選擇「task.inputValues。[]」沒有觸發。