フィルターをかけた製品のリストとリストをソートする複数の方法を示すページを作成しようとしています。ソートごとにフィルタリングコードを繰り返すのではなく、フィルタリングメソッドを呼び出すことで各ソートメソッドを開始したかったのです。私は現在、name
によってフィルタリングすることができます:Ember - 他のコントローラー機能でコントローラー機能を使用する
filterText: '',
filteredResults: function() {
var filterText = this.get('filterText');
var regexp = new RegExp(filterText,'gi');
var causes = this.get('model.products').filter(function(name){
return name.get('name').match(regexp);
});
return causes;
}.property('filterText'),
は、しかし、私は今のソート方法でこの機能を使用します。
priceAscSorting: ['price'],
sortPriceAsc: Ember.computed.sort('filteredResults', 'priceAscSorting'),
が、私はテンプレートでそれを固執するならば、それはNULLとして最初の入力を扱うように思える:私はEmber.computed.sortを使用してみました。私は、ソートメソッド内のフィルタメソッドを呼び出ししようとした場合:
priceAscSorting: ['views'],
sortPriceAsc: function() {
var products = filteredResults();
}
エンバーは'filteredResults' is not defined
を言っコンパイラエラーがスローされます。ソート方法で使用するフィルタメソッドにアクセスするにはどうすればよいですか?