是否可以传递这样的参数?我需要传递一些不属于模型本身的信息.
myModel.save({site : 23})
Run Code Online (Sandbox Code Playgroud)
Jas*_* Tu 17
您可以传递Ember Data 2.2中的选项.但是,您必须记住在该adapterOptions属性下传递您的选项.例如,
myModel.save({
adapterOptions: {
site: 23
}
});
Run Code Online (Sandbox Code Playgroud)
无论是内部的DS.Store#findAll,DS.Store#findRecord,DS.Store#query,DS.Model#save和DS.Model#destroyRecord,其中的一个参数现在应该已经有了adapterOptions.在这种情况下DS.Model#save,您可以updateRecord在适配器中覆盖:
export default DS.Adapter.extend({
updateRecord(store, type, snapshot) {
// will now have `snapshot.adapterOptions`.
// ...
}
});
Run Code Online (Sandbox Code Playgroud)
你有可能:
serializeIntoHash方法.例如:
App.Model = DS.Model.extend({
//...
site: DS.attr('number', { serialize: false })
});
Run Code Online (Sandbox Code Playgroud)
App.ModelSerializer = DS.RESTSerializer.extend({
serializeIntoHash: function(hash, type, record, options) {
this._super(hash, type, record, options);
Ember.merge(hash, {
'site': record.get('site')
});
}
});
Run Code Online (Sandbox Code Playgroud)
看到此评论,这是实现目标的正确方法.
| 归档时间: |
|
| 查看次数: |
4672 次 |
| 最近记录: |