Ember.js 不同控制器中模型的计算属性

Ember.js 不同控制器中模型的计算属性,ember.js,Ember.js,我正在构建学习余烬的必备TODO应用程序 我有一个belongsTo/hasMany关系中的任务和标记,每个标记都有许多任务。显示任务时,我希望在每个可用标记上显示计算属性 型号: 路线: 标签控制器: 标签控制器: 标记部分: 计算属性“taskCount”不起作用。“这个”有点不对劲 这是一种规范的做法吗?如果是的话,有什么问题?谢谢 编辑:固定 我错过了 App.ApplicationSerializer=DS.ActiveModelSerializer.extend; 我使用render

我正在构建学习余烬的必备TODO应用程序

我有一个belongsTo/hasMany关系中的任务和标记,每个标记都有许多任务。显示任务时,我希望在每个可用标记上显示计算属性

型号:

路线:

标签控制器:

标签控制器:

标记部分:

计算属性“taskCount”不起作用。“这个”有点不对劲

这是一种规范的做法吗?如果是的话,有什么问题?谢谢

编辑:固定 我错过了 App.ApplicationSerializer=DS.ActiveModelSerializer.extend; 我使用render获得控制器装饰: {{render'tag'tag}
在渲染之前调用控制器的操作

您从未将任务设置为TagController这两者之间的关系应该是什么,定义在哪里?我添加了模型的相关位以显示它们的关系。我修复了此问题,并进行了编辑以描述它
App.Tag = DS.Model.extend({
  tasks: DS.hasMany('task', {async: true}),
  ..
});

App.Task = DS.Model.extend({
  tag: DS.belongsTo('tag', {async: true}),
  ..
});
App.TasksRoute = Ember.Route.extend({

  model: function(params) {
    return Ember.RSVP.hash({
      tasks: this.store.find('task'),
      tags: this.store.find('tag')
    });
  },

  setupController: function(controller, model) {
    this.controllerFor('tasks').set('content', model.tasks);
    this.controllerFor('tags').set('content', model.tags);
  }
});
App.TagsController = Ember.ArrayController.extend({  
  needs: ["tag"]
})
App.TagController = Ember.ObjectController.extend({

  taskCount: function() {
    // FOLLOWING DOES NOT WORK
    return this.get('tasks.length')
  }.property('tasks')

});
<ul>
  {{#each tag in model}}
    <li>
      {{tag.name}} ({{controllers.tag.taskCount}} tasks)
    </li>
  {{/each}}
</ul>