我正在控制器内部生成RecordArray,模型的子集,但我不知道如何在html中使用把手{{#each}}
显示它。
以下答案还可能会显示如何在同一页面的同一个控制器中的ember.js 2 /多个模型中显示。
答案 0 :(得分:1)
因此,让我们说ItemsController有一个项目列表,但您只想列出模板中的特殊项目。添加一个过滤项目的计算属性:
App.ItemsController = Ember.ArrayController.extend({
specialItems: function() {
var items = this.get('content');
return items.filterProperty('isSpecial')
}.property('content.@each.isSpecial');
});
然后在模板中引用该属性:
{{#each item in specialItems}}
{{item.title}}
...
{{/each}}
答案 1 :(得分:0)
首先需要使用包含RecordArray的控制器设置变量。然后你可以在那个变量上调用each
。
App.YourController = Ember.ArrayController.extend({
...
doSearch: function(){
var theRecordArray = App.Model.find({theAttribute: blah});
this.set('variableOfYourChoice', theRecordArray);
}
});
在html中:
{{#each variableOfYourChoice}}
<li>{{theAttribute}}</li>
{{/each}}
看到它在this jsbin中运行,它将RecordArray显示为搜索结果。