Ember.js 不同控制器中模型的计算属性
我正在构建学习余烬的必备TODO应用程序 我有一个belongsTo/hasMany关系中的任务和标记,每个标记都有许多任务。显示任务时,我希望在每个可用标记上显示计算属性 型号: 路线: 标签控制器: 标签控制器: 标记部分: 计算属性“taskCount”不起作用。“这个”有点不对劲 这是一种规范的做法吗?如果是的话,有什么问题?谢谢 编辑:固定 我错过了 App.ApplicationSerializer=DS.ActiveModelSerializer.extend; 我使用render获得控制器装饰: {{render'tag'tag}Ember.js 不同控制器中模型的计算属性,ember.js,Ember.js,我正在构建学习余烬的必备TODO应用程序 我有一个belongsTo/hasMany关系中的任务和标记,每个标记都有许多任务。显示任务时,我希望在每个可用标记上显示计算属性 型号: 路线: 标签控制器: 标签控制器: 标记部分: 计算属性“taskCount”不起作用。“这个”有点不对劲 这是一种规范的做法吗?如果是的话,有什么问题?谢谢 编辑:固定 我错过了 App.ApplicationSerializer=DS.ActiveModelSerializer.extend; 我使用render
在渲染之前调用控制器的操作您从未将任务设置为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>