我嘗試覆蓋灰燼數據模型的保存功能:覆蓋模型保存
型號/ client.js
export default DS.Model.extend({
billingAddress: DS.belongsTo('address'),
//...
save: function(...arg){
var _this = this;
this.get('billingAddress').then(billingAddress=>{
return billingAddress.save().then(function(){
return _this._super(arg);
});
})
}
});
別的地方我做
record.save().then(function(){
// show a message
});
我得到出現以下錯誤:
Uncaught TypeError: Cannot read property 'then' of undefined
SOLUTION
主要的問題是,從一個承諾調用super
是不是直線前進,但可能:
save: function(...arg){
let _super = this._super;
return somePromise.then(() => _super.call(this));
}
謝謝,但網絡流量只顯示一個POST(到地址端點),看起來客戶端保存從未觸發。 – user3568719
你不能從承諾內退回超級 –
@Kitler嗯。有沒有解決方案/解決方法?我認爲這是一個有效的用例:在保存主模型之前保存一些關係。 – user3568719