1
我有一個由ngRepeat從變量開始的第一個。通過過濾器,而不是first.id_second它寫出second.name,它很好。現在我正在嘗試對列first.id_second進行排序,我希望它不按first.id_second排序,而是通過second.name排序。這是我的結構:AngularJS過濾器順序通過另一個排序一個變量
var first = [{
"id": 0,
"id_second": "111"
},{
"id": 1,
"id_second": "222"
}]
var second = [{
"id_second": "111",
"name": "name1"
},{
"id_second": "222",
"name": "name2"
}]
通常情況下,在我的HTML我會
ng-click="order('col_name')"
並在控制器
$scope.order = function(predicate) {
$scope.predicate = predicate;
$scope.reverse = ($scope.predicate === predicate) ? !$scope.reverse : false;
$scope.first = orderBy($scope.first, predicate, $scope.reverse);
};
var orderBy = $filter('orderBy');
我不知道怎麼用這是一個屬性過濾來自另一個變量。我想我應該寫一個自定義過濾器,但到目前爲止它並沒有成功。
任何想法?感謝名單。
只是一個建議,爲什麼不是使用lo-dash,而是使用[_.sortBy](https://lodash.com/docs/3.10.1#sortBy)而不是角度的「$ filter」服務 - 它具有更大的靈活性? – MiTa
我不喜歡爲我需要的一個「小」事物使用額外的庫,特別是如果這意味着重寫這個項目已有的大部分代碼。 – ljerka