我在處理與不可變數組相關的ember數據時遇到了問題,例如「未捕獲的錯誤:服務器查詢的結果是不可變的」。這就是我在嘗試將removeObjects()
方法應用於已過濾的數組列表。ember-data中的mutable array&immutable數組有什麼區別?
所以,我想知道其中的差別&如果可能的話如何將它們轉換爲其他
我在處理與不可變數組相關的ember數據時遇到了問題,例如「未捕獲的錯誤:服務器查詢的結果是不可變的」。這就是我在嘗試將removeObjects()
方法應用於已過濾的數組列表。ember-data中的mutable array&immutable數組有什麼區別?
所以,我想知道其中的差別&如果可能的話如何將它們轉換爲其他
,不可變的數組只是意味着它不能直接改變(而不是一個可變的數組,數組中被改變)。
根據灰燼數據文件,刪除記錄應該這樣做:
To delete a record, call its deleteRecord() method:
var person = App.store.find(App.Person, 1); person.deleteRecord();
The record will not be deleted in the persistence layer until the store's commit() method is called. However, deleted records will immediately be removed from its ModelArray and associations.
來源:https://github.com/emberjs/data#deleting-records
如果這沒有幫助,你能寫的jsfiddle?
是的,這工作,謝謝:)但是什麼時候應該使用removeObjects()呢? –
但我不認爲deleteRecord()會改變客戶端上的集合,對吧? –
deleteRecord()應該改變客戶端。 (至少在所有的ember本質上都在客戶端上)你的視圖的內容數組被綁定到Store上,這正是我們通過使用person.deleteRecord()來改變的。 removeObjects()只有在你自己創建了數組的情況下才會有用(例如:當某些數據源不需要同步時,只要在燼中發生變化)就可以使用這個數組。 – dmzza