id
新しいDS.Modelレコードを作成し、ストアでcommitを呼び出すと、永続層でレコードがいつ作成され、属性にアクセスできるかを知りたいです。
私はdidCreate
コールバックがまさにそれをするだろうと思った。しかし、驚いたことに、それid
はまだ呼び出されたundefined
ときです。didCreate
だから私の質問は基本的に、私は何か間違ったことをしていて、私のユースケースのためのより良いコールバックがありますか、それともこれはバグですか?
id
新しいDS.Modelレコードを作成し、ストアでcommitを呼び出すと、永続層でレコードがいつ作成され、属性にアクセスできるかを知りたいです。
私はdidCreate
コールバックがまさにそれをするだろうと思った。しかし、驚いたことに、それid
はまだ呼び出されたundefined
ときです。didCreate
だから私の質問は基本的に、私は何か間違ったことをしていて、私のユースケースのためのより良いコールバックがありますか、それともこれはバグですか?
うーん、このテストケースでこれをカバーする必要があるようです。チケットを提出する必要があると思います。
回避策として、これらの行に沿って何かを使用できます。 http://jsfiddle.net/pangratz666/ZkQHE/を参照してください。
App.IdWatcher = Ember.Mixin.create({
init: function() {
this._super();
this.addObserver('data', this, '_dataDidChange');
},
_dataDidChange: function() {
var id = this.get('id');
if (id) {
this.idHasBeenDefined(id);
this.removeObserver('data', this, '_dataDidChange');
}
}
});
App.Model = DS.Model.extend(App.IdWatcher, {
label: DS.attr('string'),
idHasBeenDefined: function(id) {
console.log('id is set to %@'.fmt(id));
}
});