0

{{#each}}モデルのサブセットである RecordArray をコントローラー内に生成していますが、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}}

RecordArray を検索結果として表示するこの jsbinで実行されていることを確認してください。

于 2013-08-16T04:32:28.370 に答える