以下では確かに単一のプロパティでフィルタリングしていますが、別のプロパティで一度にフィルタリングするにはどうすればよいですか? つまり、さまざまな検索オプションを含むドロップダウンをユーザーに提供することはあり ません。
var search = this.controllerFor('employees').search; //can be name, email or age
employees = this.get('currentModel').filterProperty('name', search);
上記はマスター リストの更新には問題なく機能しますが、一度に 1 つのプロパティでしかフィルタリングできません。
//Sample Model
App.Employee = DS.Model.extend({
email: DS.attr('string'),
name: DS.attr('string'),
age: DS.attr('number'),
})
1 つの考えとしては、フィルターの結果が得られた場合に再度フィルターをかけ直しlength = 0
、何らかの方法で結果をマージすることです。しかし、私はその考えにあまり賛成ではなく、Ember にはこれを実現するためのより優れた、より洗練された方法があると信じています。