3
我想通过子属性过滤现有的ArrayController。怎么做?我的过滤器不工作或是空的,因为我没有看到任何项目出现(如果我不过滤,我看到他们)。如何正确过滤ArrayController
这里是我的代码的简化版本:
模式
App.Post = DS.Model.extend({
user: DS.belongsTo('user')
title: DS.attr('string'),
...
});
App.User = DS.Model.extend({
name: DS.attr('string'),
status: DS.belongsTo('status'),
...
});
App.Status = DS.Model.extend({
title: DS.attr('string'),
techName: DS.attr('string')
});
控制器
App.PostsController = Ember.ArrayController.extend({
activeUsers: function() {
return this.filterBy('user.status.techName', 'active');
}.property('@each','@each.user','@each.user.status','@each.user.status.techName')
});
App.ActiveUsersController = Ember.ArrayController.extend({
needs: ['posts']
});
模板 (我的活跃用户模板)
<ul>
{{#each controllers.posts.activeUsers}}
<li>{{name}}</li>
{{/each}}
</ul>
THX的男人,正是我需要的! –
很高兴帮助:) – Hyder