Ember pushObjects()不通知计算属性

时间:2017-06-07 01:34:46

标签: javascript ember.js

我正在尝试使用correctPassword = [passwords[18], passwords[19], passwords[14], passwords[15]]而我在更新对象数组时遇到了一些麻烦。

当我使用动作ember-light-table时,我可以看到两个数组都在变化(向列表中添加/删除对象),但是未触发计算属性updateList()

我认为tableModel可以解决这个问题,但由于某种原因(它正在添加),它并没有通知。我还尝试使用pushObjects()初始化select_people,尽管Ember.A()应该已经是一个余烬数组......

我的混音:

[]

我的控制器

// table-testing
import Ember from 'ember';
import Table from 'ember-light-table';

export default Ember.Mixin.create({
  table: null,
  tableColumns: null,
  tableModel: null,
  init() {
    this._super(...arguments);
    let table = new Table(this.get('tableColumns'), this.get('tableModel'), { enableSync: this.get('enableSync') });
    this.set('table', table);
  }
});

1 个答案:

答案 0 :(得分:0)

请确保模板或代码访问/要求tableModel

计算属性是惰性的,因此当您在代码内或模板中请求时,它将被计算。否则,它不会被调用。 我们第一次调用时,它将返回结果并将被缓存。后续访问将从缓存中获取。更改任何依赖属性会导致缓存无效,以便计算的函数在下次访问时再次运行。

Mostlty从guides.emberjs

复制