0

我正在控制器内部生成一个 RecordArray,它是模型的一个子集,但我不知道如何{{#each}}在 html 中使用把手显示它。

下面的答案可能还显示了如何在同一页面的同一控制器中的 ember.js 2/多个模型中显示。

4

2 回答 2

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}}
于 2013-08-16T04:50:25.520 回答
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}}

看到它在这个 jsbin中运行,它将 RecordArray显示为搜索结果。

于 2013-08-16T04:32:28.370 回答