【发布时间】:2016-06-18 16:55:02
【问题描述】:
在控制器上创建计算属性时尝试访问控制器模型时,出现以下错误:
model.uniqBy is not a function
app/controller/ticket.js
export default Ember.Controller.extend({
statuses: Ember.computed('model', function() {
var model = this.get('model');
return model
.uniqBy('status')
.map(function(i) { return i.status; })
.toArray();
}),
});
我提供给控制器的模型是从this.store.findAll('ticket'); 返回的集合,但尝试迭代它似乎会导致上述错误。给模型的集合不应该是 Ember.Enumerable 对象吗?我是否应该尝试通过 DS.Store 访问集合(在这种情况下,我不明白需要将模型传递给控制器)?
【问题讨论】:
-
你想得到什么?存储在工单集合中的状态字段的唯一值数组?
-
你应该使用 2.7 早期版本,在 ember 2.7 中引入了 uniqBy 宏。 emberjs.com/blog/2016/06/08/…
-
@kumkanillam 我知道该宏,它已记录在案但尚未实现,并计划在 2.7 中提供,该版本处于测试阶段。不过,我更喜欢继续使用稳定版本,并在这个问题的帮助下找到了答案。谢谢!
标签: ember.js ember-model ember-controllers