我正在控制器内部生成一个 RecordArray,它是模型的一个子集,但我不知道如何{{#each}}
在 html 中使用把手显示它。
下面的答案可能还显示了如何在同一页面的同一控制器中的 ember.js 2/多个模型中显示。
我正在控制器内部生成一个 RecordArray,它是模型的一个子集,但我不知道如何{{#each}}
在 html 中使用把手显示它。
下面的答案可能还显示了如何在同一页面的同一控制器中的 ember.js 2/多个模型中显示。
因此,假设 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}}
需要先用包含 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}}
看到它在这个 jsbin中运行,它将 RecordArray显示为搜索结果。