Ember-Data:DS.EmbeddedRecordsMixin 的预期使用模式
Ember-Data: Intended usage pattern of DS.EmbeddedRecordsMixin
我有一个后端,让我可以异步读取数据,但强制嵌入某些 child 数据(代替事务)。
将 DS.EmbeddedRecordsMixin 与 ...
一起使用时
{
serialize: 'records',
deserialize: 'ids'
}
...(鉴于此后端,这应该是正确的做法)我还有两个问题。
(1) http://emberjs.com/api/data/classes/DS.EmbeddedRecordsMixin.html 非常明确,DS.EmbeddedRecordsMixin 不应与 async:true
混用。据我了解,问题是将 async:true
与嵌入式 reading 混合使用,而不是 writing。另一方面,文档没有区别。我是否擅长将 async:true
与上述配置混合使用(文档是否缺少这种情况),或者我缺少关于 async:true
和写作的什么?
(2) 在我的后端删除parent时,所有children也被删除了。删除应该只是对 parent 的一次调用。我如何在 ember 端执行此操作?我想删除商店中的parent和所有children,发送一个 REST请求并且这个请求的success/failure应该是权威的所有这些记录。然而,DS.EmbeddedRecordsMixin 似乎并没有在那个方向上以任何方式帮助我。我是一个人,还是我错过了什么?
就您的第一个问题而言,我认为您很擅长将 async:true
和 EmbeddedRecordsMixin
混合使用。参见 this blog post and my example js-bin
至于 2,EmbeddedRecordsMixin
留给你自己。但是如果你看一下代码,它所做的只是在提取记录时将记录推送到存储中,因此要反转它,你所要做的就是从存储中卸载这些记录。我会保留对子记录的引用,然后在成功删除父记录后,使用 record.unload()
清理子记录。 Same example js-bin
为以后可能偶然发现此问题的任何人回答编号 (1):在 Kori John Roys 的回答的鼓励下,我已经向 ember 数据提交了拉取请求以澄清文档。它被接受了,因此现在在文档上只警告将 async: true
与嵌入式 reading.
混合使用
我有一个后端,让我可以异步读取数据,但强制嵌入某些 child 数据(代替事务)。
将 DS.EmbeddedRecordsMixin 与 ...
一起使用时{
serialize: 'records',
deserialize: 'ids'
}
...(鉴于此后端,这应该是正确的做法)我还有两个问题。
(1) http://emberjs.com/api/data/classes/DS.EmbeddedRecordsMixin.html 非常明确,DS.EmbeddedRecordsMixin 不应与 async:true
混用。据我了解,问题是将 async:true
与嵌入式 reading 混合使用,而不是 writing。另一方面,文档没有区别。我是否擅长将 async:true
与上述配置混合使用(文档是否缺少这种情况),或者我缺少关于 async:true
和写作的什么?
(2) 在我的后端删除parent时,所有children也被删除了。删除应该只是对 parent 的一次调用。我如何在 ember 端执行此操作?我想删除商店中的parent和所有children,发送一个 REST请求并且这个请求的success/failure应该是权威的所有这些记录。然而,DS.EmbeddedRecordsMixin 似乎并没有在那个方向上以任何方式帮助我。我是一个人,还是我错过了什么?
就您的第一个问题而言,我认为您很擅长将 async:true
和 EmbeddedRecordsMixin
混合使用。参见 this blog post and my example js-bin
至于 2,EmbeddedRecordsMixin
留给你自己。但是如果你看一下代码,它所做的只是在提取记录时将记录推送到存储中,因此要反转它,你所要做的就是从存储中卸载这些记录。我会保留对子记录的引用,然后在成功删除父记录后,使用 record.unload()
清理子记录。 Same example js-bin
为以后可能偶然发现此问题的任何人回答编号 (1):在 Kori John Roys 的回答的鼓励下,我已经向 ember 数据提交了拉取请求以澄清文档。它被接受了,因此现在在文档上只警告将 async: true
与嵌入式 reading.