在 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');
这似乎可以解决问题。
更新:请记住在 actionToFire
中removeObserver
,这样它们就不会堆积起来!
关于ember.js - 在 ember-data 中,在生命周期中什么时候新创建的记录的 id 可用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12867688/