【问题标题】:Ember Save a change to an attributeEmber 保存对属性的更改
【发布时间】:2015-01-30 18:52:16
【问题描述】:

对 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,似乎都运行良好。

我可以通过哪些不同的选项来保存此操作?非常感谢。

【问题讨论】:

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


    【解决方案1】:

    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
        });
      }
    }
    

    【讨论】:

    • 谢谢,这已经清理了我的代码很多。但是还是不保存。所以我猜这是后端的问题,以及它接收更新/PUT请求的能力......
    猜你喜欢
    • 2016-04-22
    • 1970-01-01
    • 1970-01-01
    • 2012-01-28
    • 2023-03-30
    • 1970-01-01
    • 2020-05-20
    • 1970-01-01
    • 2018-07-09
    相关资源
    最近更新 更多