Cam*_*aft 7 ember.js ember-data
假设我有2个型号:
App.Address = DS.Model.extend({
street: DS.attr('string'),
person: DS.belongsTo('App.Person')
})
App.Person = DS.Model.extend({
name: DS.attr('string'),
addresses: DS.hasMany('App.Address')
})
Run Code Online (Sandbox Code Playgroud)
现在我创造了一个人
App.person = App.Person.createRecord({name: 'Bill'});
App.store.commit();
Run Code Online (Sandbox Code Playgroud)
如果我尝试向这样的人添加地址
address = App.Address.createRecord({street: '123 Fake Street'});
App.person.get('addresses').pushObject(address);
Run Code Online (Sandbox Code Playgroud)
并提交交易
App.store.commit();
Run Code Online (Sandbox Code Playgroud)
将保存新地址,但不会将人物对象识别为已更改; 即使id列表已经过去了
{
...
"addresses": []
}
Run Code Online (Sandbox Code Playgroud)
至
{
...
"addresses": [3]
}
Run Code Online (Sandbox Code Playgroud)
有没有办法让ember-data知道我的person对象已被更改并且需要保存?
编辑: 这是一个说明问题的方法.
小智 1
截至目前(ember-data 修订版 4),还没有办法做到这一点。由于该对象具有外键,因此它仅保留在“属于”一侧,因此如果您在关系的“属于”一侧设置值,它应该保留。Ember 数据的下一版本应该会解决这个问题。
| 归档时间: |
|
| 查看次数: |
1003 次 |
| 最近记录: |