javascript - Ember-Data:DS.EmbeddedRecordsMixin 的预期使用模式

标签 javascript ember.js ember-data

我有一个后端,可以让我异步读取数据,但强制嵌入某些子数据(代替事务)。

当使用 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:trueEmbeddedRecordsMixin 。请参阅this blog postmy example js-bin

至于 2,EmbeddedRecordsMixin 让您自行解决。但如果你看一下代码,它所做的只是在提取记录时将它们推送到存储中,因此要反转它,你所要做的就是从存储中卸载这些记录。我会保留对子记录的引用,然后在成功删除父记录后,使用 record.unload() 清理子记录。 Same example js-bin

关于javascript - Ember-Data:DS.EmbeddedRecordsMixin 的预期使用模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29415439/

相关文章:

javascript - (Javascript) execCommand ('copy' ) 复制文本但向值添加额外的空格

javascript - 没有 JSON 根的 Ember.js REST 适配器

javascript - 为什么每个 Ember 数据存储事务都会向服务器发送额外的 OPTIONS 请求?

javascript - JQuery 无法在 Restful Web 服务中捕获异常。

javascript - Puppeteer:从使用延迟加载的页面中抓取整个 html

javascript - 禁用javascript时阻止CSS动画?

ember.js - 我如何从 Ember 2.7.1 中的应用程序 Controller 观察当前路由名称?

javascript - 在 ember.js 中读取由带有 Handlebars 的服务注入(inject)的计算属性

ember.js - 在计算属性中使用 this.store.query()

javascript - 在 Controller emberjs 中获取模型