Ember 保存对属性的更改

Ember Save a change to an attribute

对 Ember 很陌生,请快速提问:如何 save/persist 更改属性?在控制器中执行以下操作:

actions: {

    togOnField: function(){

        if (this.get('onField')){
            this.set('onField', false);
        } else {
            this.set('onField', true);
        }
    }

}

环顾四周我发现了

this.get('model').save

目前,使用它,属性会立即恢复到以前的状态。这是否意味着保存不成功?使用 Sails API 和 Postgres 数据库,两者似乎都运行良好。

关于我如何从该操作中节省费用,有哪些不同的选择?非常感谢。

controller中的

this指的是controller,可能不是你想象中的model。您可以做的一件事是将模型传递给操作。

在您的模板中,

<button {{action 'toggleOnField' user}}>Toggle on field</button>

那么动作就变成了

actions: {
  toggleOnField: function(user) {
    user.toggleProperty('onField').save().then(function() {
      // do something
    }, function(reason) {
      // handle error
    });
  }
}