node.js - Ember 保存对属性的更改

标签 node.js ember.js ember-data sails.js ember-cli

对 Ember 很陌生,请快速提问:如何保存/保留对属性的更改?在 Controller 中执行以下操作:

actions: {

    togOnField: function(){

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

}

环顾四周,我发现了

this.get('model').save

目前,使用此功能,属性会立即恢复到之前的状态。这是不是说明保存不成功?使用 Sails API 和 Postgres DB,两者似乎都工作正常。

我可以通过哪些不同的选项来通过此操作节省费用?非常感谢。

最佳答案

该 Controller 中的

this 指的是 Controller ,可能不是您期望的模型。您可以做的一件事是将模型传递给操作。

在您的模板中,

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

然后 Action 就变成了

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

关于node.js - Ember 保存对属性的更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28242728/

相关文章:

javascript - Puppeteer 搜索元素值

ember.js - 有没有办法消除观察者的抖动

javascript - 循环访问模板中的 Ember 数据模型属性

ember.js - Ember 构建错误 : Assertion Failed: [BUG] seen set should be available

javascript - Ember.js 中的简单 console.log Controller 操作方法

ember.js - EmberJS 有很多关系和 Fixtures

node.js - 将多种监听方法合并到一个node.js中

node.js - 我在 Express App 上看不到环境变量

javascript - 我应该在兑现 promise 之前还是之后更新缓存?

javascript - Ember css 不起作用 + 如何创建两个样式表