ember.js - 在 ember-data 中,在生命周期中什么时候新创建的记录的 id 可用?

标签 ember.js ember-data

在 ember-data 中使用 RESTAdapter。我在服务器上创建一条记录,我需要获取新创建的记录的ID。该 id 从服务器传回,我可以在返回的 json 中看到它。

但是,在 DS.Model 的 didCreate() 回调中, this.get('id') 未定义。

我还尝试添加 record.one('didCreate',aClass,aClass.onDidCreate) 并检查 newRecord.get('id') 但它也是未定义的。

didCommit 回调似乎在 createRecord() 之后没有被调用,所以我不确定我还应该在生命周期回调中检查哪里。有人知道吗?

最佳答案

我不知道返回的 id 的钩子(Hook)是什么,但我一直在“id”上设置一个观察者来触发这样的方法:

record.addObserver('id', this, 'actionToFire');

这似乎可以解决问题。

更新:请记住在 actionToFireremoveObserver,这样它们就不会堆积起来!

关于ember.js - 在 ember-data 中,在生命周期中什么时候新创建的记录的 id 可用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12867688/

相关文章:

javascript - 如何将自定义 url 与 ember-data 一起使用?

ember.js - ember-i18n 使用 Handlebars Runtime 预编译翻译

测试 ember 嵌套路由失败

javascript - 用于搜索引擎可抓取应用程序的 EmberJS 技术栈

javascript - Ember 组件事件未触发

ember.js - 我可以为 ember-data 模型属性定义默认值吗?

javascript - Ember.js RESTAdapter : Access JSON params when setting headers

ember.js - Ember-Cli:在 findAll() 查询前添加前缀

javascript - Ember 更新导致模板中的 promise 不等待解决

javascript - 如何获得一个仅包含持久化 Ember 数据记录的集合,不包括存在于客户端且未持久化的记录?