Ember.js pushPayload无法更新先前设置的模型的属性
如下所示,用户拥有serviceinfo,属于userService类型:Ember.js pushPayload无法更新先前设置的模型的属性,ember.js,ember-data,Ember.js,Ember Data,如下所示,用户拥有serviceinfo,属于userService类型: User = DS.Model.extend({ serviceinfo: belongsTo('userService', {async: true}) }); UserService = DS.Model.extend({ online: attr('number', {defaultValue: 0}) }); 应用程序启动时,id为“1”的用户的联机设置为1: self.get('store')
User = DS.Model.extend({
serviceinfo: belongsTo('userService', {async: true})
});
UserService = DS.Model.extend({
online: attr('number', {defaultValue: 0})
});
应用程序启动时,id为“1”的用户的联机设置为1:
self.get('store').find('user', '1').then(function(user){
user.get('serviceinfo').then(function(serviceinfo){
serviceinfo.set('online', 1);
});
});
一段时间后,当接收到包含userService数据(id为“1”,online为2)的消息时,调用pushPayload:
self.get('store').pushPayload('userService', {userService: msg});
但州政府在这之后通过:
self.get('store').getById('user', '1').get('serviceinfo.online');
仍然是“1”,也就是说,如果先调用“set”,pushPayload不能更改userService模型中的联机属性
问题是什么?因此
pushPayload
不会覆盖脏属性
要解决此问题,请单击记录上的rollbackAttributes
PS感谢@bmac。也遇到了这个问题。你解决了吗?