我有一个后端,可以让我异步读取数据,但强制嵌入某些子数据(代替事务)。
当使用 DS.EmbeddedRecordsMixin 时...
{
serialize: 'records',
deserialize: 'ids'
}
...(考虑到这个后端,这应该是正确的做法)我还有两个问题。
(1) http://emberjs.com/api/data/classes/DS.EmbeddedRecordsMixin.html非常明确的是,DS.EmbeddedRecordsMixin 不应与 async:true
混合。据我了解,问题在于将 async:true
与嵌入式读取混合在一起,而不是写入。另一方面,文档没有区别。我是否擅长将 async:true
与上述配置混合(并且文档是否缺少这种情况),或者我对 async:true
和写作缺少什么?
(2) 在我的后端中,当删除父级时,所有子级也会被删除。删除应该只是对父级的一次调用。我该如何在 Ember 端执行此操作?我想删除商店中的父级和所有子级,发送一个 REST 请求,并且此请求的成功/失败应该对所有这些记录具有权威性。然而, DS.EmbeddedRecordsMixin 似乎在这个方向上没有以任何方式帮助我。我是独自一人还是我错过了什么?
最佳答案
就您的第一个问题而言,我认为您可以根据您的情况混合 async:true
和 EmbeddedRecordsMixin
。请参阅this blog post和 my example js-bin
至于 2,EmbeddedRecordsMixin
让您自行解决。但如果你看一下代码,它所做的只是在提取记录时将它们推送到存储中,因此要反转它,你所要做的就是从存储中卸载这些记录。我会保留对子记录的引用,然后在成功删除父记录后,使用 record.unload()
清理子记录。 Same example js-bin
关于javascript - Ember-Data:DS.EmbeddedRecordsMixin 的预期使用模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29415439/