簡體   English   中英

如何在異步為真的情況下與Ember Data模型更新對偶/反向hasMany關系?

[英]How do you update dual/inverse hasMany relationships with Ember Data models where async is true?

我的Ember應用程序中有兩個簡單的模型,它們的工作方式如下:

App.Book = DS.Model.extend({
  tags: DS.hasMany('tag')
});

App.Tag = DS.Model.extend({
  books: DS.hasMany('book', { async: true })
});

用戶可以通過我們的UI輕松地將標簽添加和刪除到給定的書中。 例如,用戶刪除標簽時運行的代碼是:

book.get('tags').removeRecord(tagToRemove);
book.save();

在從書中刪除標簽時,這樣做效果很好。 但是,標簽模型本身仍引用該書。 換句話說,逆關系不會自動更新。

編輯:

在執行了JS Bin( http://jsbin.com/ucanam/1574/edit )之后,似乎標簽的books屬性沒有自動更新的原因是由於我通過了{ async: true }選項。 就是說,我不確定我是否真的有能力刪除該選項,因為標簽可能包含數百萬本書,並且我不想將所有標簽都加載進去。

有什么辦法讓事情保持原樣?

Ember Data可以“神奇地”從兩者中刪除的唯一方法是刪除記錄。 如果僅從其他記錄之一中刪除該記錄,從技術上講,Ember Data不是肯定的,則您不希望從其他記錄到該記錄之間仍然具有其他關系。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM