angularJs排序代码不';行不通
我完全不明白,为什么我的排序代码不起作用。 我只想在我的应用程序中添加一个排序方法“sortFlag”,但它并没有以正确的方式工作 以下是代码:angularJs排序代码不';行不通,angularjs,Angularjs,我完全不明白,为什么我的排序代码不起作用。 我只想在我的应用程序中添加一个排序方法“sortFlag”,但它并没有以正确的方式工作 以下是代码: var App2 = angular.module('App2',[ //submodules ]); App2.controller('MainController', ['$scope', '$http', function($scope, $http){ $http.get('https://api.myjson
var App2 = angular.module('App2',[
//submodules
]);
App2.controller('MainController', ['$scope', '$http', function($scope, $http){
$http.get('https://api.myjson.com/bins/14fug5')
.success(function(datas){
$scope.datas_1 = datas
console.log($scope.datas_1.schema);
});
$http.get('https://api.myjson.com/bins/q80it')
.success(function(datas){
$scope.datas_2 = datas
});
// $scope.predicate = '';
// $scope.reverse = true;
// $scope.order = function(predicate) {
// $scope.reverse = ($scope.predicate === predicate) ? !$scope.reverse : false;
// $scope.predicate = predicate;
// };
$scope.sortFlag = 'id';
$scope.sortTable = function(flag){
$scope.sortFlag = flag;
}
}]);
角度示例2
выберите данные:
данные1
данные2
{{value}}
{{data.id}
{{data.name}
{{data.price}}
{{data.quantity}
{{value}}
{{data.id}
{{data.name}
{{data.price}}
{{data.quantity}
如果您有任何想法,请帮助我处理这些内容。我不确定
orderBy
是否可以使用范围变量来使用排序字段。您应该改用函数
控制器:
$scope.dynamicOrderFunction = function() {
return '-' + $scope.sortFlag;
}
您可以根据排序的方向将-号更改为加号
模板:
<tr ng-repeat="data in datas_2.data | orderBy: dynamicOrderFunction">
<td>{{data.id}}</td>
<td>{{data.name}}</td>
<td>{{data.price}}</td>
<td>{{data.quantity}}</td>
</tr>
{{data.id}
{{data.name}
{{data.price}}
{{data.quantity}
我不确定orderBy
是否可以使用范围变量来使用排序字段。您应该改用函数
控制器:
$scope.dynamicOrderFunction = function() {
return '-' + $scope.sortFlag;
}
您可以根据排序的方向将-号更改为加号
模板:
<tr ng-repeat="data in datas_2.data | orderBy: dynamicOrderFunction">
<td>{{data.id}}</td>
<td>{{data.name}}</td>
<td>{{data.price}}</td>
<td>{{data.quantity}}</td>
</tr>
{{data.id}
{{data.name}
{{data.price}}
{{data.quantity}
您应该在orderBy中添加另一个参数“reverse”,重复如下操作:
<tr ng-repeat="data in datas_2.data | orderBy:sortFlag:reverse">
这应该能解决你的问题。如果它不适用于您,请告诉我。您应该在您的orderBy中添加另一个参数“reverse”(反向),然后在ng中重复以下操作:
<tr ng-repeat="data in datas_2.data | orderBy:sortFlag:reverse">
这应该能解决你的问题。如果对你不起作用,请告诉我