Ember非常新,请快速提问:如何保存/保留对属性的更改?在控制器中执行以下操作:
actions: {
togOnField: function(){
if (this.get('onField')){
this.set('onField', false);
} else {
this.set('onField', true);
}
}
}
环顾四周我找到了
this.get('model').save
目前,使用此属性,该属性立即恢复到以前的状态。这是否意味着保存不成功?使用Sails API和Postgres DB,两者似乎都运行正常。
我可以从这个行动中拯救出来的不同选择有哪些?非常感谢。
答案 0 :(得分:0)
this
指的是控制器,可能不是您期望的模型。你可以做的一件事就是将模型传递给行动。
在您的模板中
<button {{action 'toggleOnField' user}}>Toggle on field</button>
然后行动变为
actions: {
toggleOnField: function(user) {
user.toggleProperty('onField').save().then(function() {
// do something
}, function(reason) {
// handle error
});
}
}