私は選択と入力フィールドに基づいてデータをフィルタリングしようとしています。ここに私のコードの一部です:角1.5.x - 変数を組み込みのフィルタに渡す
<select ng-change="students.changeValue(changeFilter)" ng-model="changeFilter">
<option ng-selected="true" value="name">Name</option>
<option value="age">Age</option>
</select>
<input ng-model="searchPhrase" />
名前と年齢は私が持っているキーの例です。ここに私のデータ生成構造は次のとおりです。
<div ng-class="{breakLine: $index % 3 === 0}"
class="student-item col-md-4"
ng-repeat="s in students.studentsList | filter:{searchFilter: searchPhrase}">
searchFilterを変数から設定されているが、それは動作しませんキーであると考えられます。私がそこに何かを作るなら:filter:{name: searchPhrase}
それは私のデータ構造にそのようなキーを持っているので動作します。だから私は手動で例えば書くとき:| filter:{name: searchPhrase}
が、それは動作します
.controller('StudentsListCtrl', ['$scope', function($scope) {
$scope.searchFilter = '';
this.changeValue = function(val) {
console.log(val); ---> gives key or age on change
$scope.searchFilter = val;
}
:ここ
は、コントローラの一部です。しかし、「名前」(つまりキー)を| filter:{searchFilter: searchPhrase}
のような変数に渡すと、それは壊れてしまいます。
これはどのように修正できますか?