Ember changedAttributes()未显示布尔值更改

时间:2015-03-31 18:55:17

标签: ember.js ember-data

在保存之前,我一直试图将模型的更改列表存储到另一个模型中,以便我可以回想一下这些更改以撤消之前的更改。这是我正在使用的代码:

var changes = item.changedAttributes();
var newUndo = this.store.createRecord('undo', {
  item_id: item.get('id'),
  changes: changes
});

我的复选框是典型的:

{{input type="checkbox" checked=checked class="checkbox"}}

我有一个复选框的组件,当检查更改时发送保存操作,并且控制器的保存方法在保存记录之前调用上面的代码:

import Ember from 'ember';
export default Ember.Component.extend({
  checked: false,
  model: null,
  watchChecked: function () {
    this.sendAction('save', this.get('model'))
  }.observes('checked')
});

撤消模式

import DS from "ember-data";

export default DS.Model.extend({
  item_id: DS.attr('number'),
  changes: DS.attr('string')
});

这适用于字符串属性,但是对于布尔复选框,它没有按预期运行。这就是我所看到的:

页面加载,未选中项目已选中:

changes: {}

然后取消选中:

changes: {print_copy_sent: true,true}

然后再次检查:

changes: {print_copy_sent: false,false}

0 个答案:

没有答案