【发布时间】:2015-04-07 06:58:48
【问题描述】:
我在 Ember 控制器上定义了一个计算属性 myArray,它返回一个数组。该数组应初始化为 model 的内容,然后根据用户输入查询通过过滤 model 重新计算。
myArray: function() {
// return a value that filters model with query
}.property('model', 'query')
问题是我不知道如何同时做这两个。以下无法将myArray初始化为model;我猜是因为模型是异步加载的,init() 在完成之前运行。
// doesn't work
init: function() {
this._super();
this.set('myArray', this.get('model'));
}
所以我认为setupController() 是设置它的地方,但我发现在那里设置myArray 导致过滤器更新不起作用,可能是因为我覆盖了定义。
// route definition...
setupController: function(controller, model) {
controller.set('model', model);
controller.set('myArray', model); // breaks updating
}
我怎样才能实现我的目标?
【问题讨论】:
标签: ember.js