Ember.js 基于模型属性的余烬计算属性

Ember.js 基于模型属性的余烬计算属性,ember.js,ember-data,Ember.js,Ember Data,我是ember的新手,尝试编写一个计算属性,根据用户模型中定义的用户的“状态”属性检查用户是否在线,然后返回在线用户数的计数。这是我一直在尝试的,但不起作用- onlineUsers: function() { return this.get("model").filterBy("state", "online").get("model.length"); }.property("'model.[]'"), 这是我的用户模型- App.User = DS.Model.extend({

我是ember的新手,尝试编写一个计算属性,根据用户模型中定义的用户的“状态”属性检查用户是否在线,然后返回在线用户数的计数。这是我一直在尝试的,但不起作用-

onlineUsers: function() {
    return this.get("model").filterBy("state", "online").get("model.length");
}.property("'model.[]'"),
这是我的用户模型-

App.User = DS.Model.extend({
  name   : DS.attr('string'),
  email  : DS.attr('string'),
  state  : DS.attr('string'),
  subjects    : DS.hasMany('subject')    
});

有人能指出我做错了什么吗?

你需要使用
模型。@each.state

onlineUsers: function() {
  return this.get("model").filterBy("state", "online").get("length");
}.property("model.@each.state"),
另外,
model.length
最终也不起作用,因为
filterBy
的结果是一个新数组,您需要该数组的长度