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

时间:2014-11-07 17:33:57

标签: ember.js

我正在构建强制性的TODO应用程序来学习余烬。

我在belongsTo / hasMany关系中有任务和标签(每个标签都有多个任务)。在显示任务时,我想在每个可用标记上显示计算属性。

型号:

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>

计算属性'taskCount'不起作用。 “这个”有问题。

这种规范的做法是什么?如果是这样,那有什么不对?感谢

编辑:修正 我错过了     App.ApplicationSerializer = DS.ActiveModelSerializer.extend(); 我用渲染来获得控制器装饰:     {{render'tag'tag}} 在渲染之前调用控制器

0 个答案:

没有答案
相关问题