當我在商店中創建新的DS.Model記錄並調用提交時,我想知道何時在持久層和我有權訪問id
屬性。創建記錄並設置了服務器端ID後調用的DS.Model回調
我認爲didCreate
回調會做到這一點。但令我驚訝的是,當調用didCreate
時,id
仍爲undefined
。
所以我的問題基本上是,我做錯了什麼,有一個更好的回調我的用例還是這個錯誤?
當我在商店中創建新的DS.Model記錄並調用提交時,我想知道何時在持久層和我有權訪問id
屬性。創建記錄並設置了服務器端ID後調用的DS.Model回調
我認爲didCreate
回調會做到這一點。但令我驚訝的是,當調用didCreate
時,id
仍爲undefined
。
所以我的問題基本上是,我做錯了什麼,有一個更好的回調我的用例還是這個錯誤?
嗯,它看起來像this測試用例應該覆蓋這一點。我認爲你應該提交一張票。
正如你可以沿着這些線路使用一些解決方法,請參見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));
}
});
感謝您的解決方法,問題已經創建:-) – stravid 2012-04-20 08:02:55
什麼適配器您使用? – pangratz 2012-04-19 12:56:38
內置REST適配器,無需修補程序/修改。 – stravid 2012-04-19 13:07:32
嘆息,有同樣的問題... – 2013-04-18 03:22:22