希望有人可以帮我解决我的问题。 我正在尝试按特定数据排序我的列表,当我提前说明需要排序的内容时,这样可以正常工作。 但是,当我点击按钮时执行此操作时,无论如何都不会对我的列表进行排序。
希望有人可以帮我解决这个问题。
这是我的app.js代码:
app.controller("ListController", function ($scope, $interval, $http, myService, OpenDataService) {
myService.async().then(function (d) {
OpenDataService.opendata = d;
$scope.openData = OpenDataService.opendata;
$scope.order = "";
});
$scope.orderOptions = ["gemeente", "locatie"];
$scope.change = function (value) {
console.log("change");
$scope.order = value;
console.log(value);
}
$scope.test = OpenWifiData;
});
这是我使用的HTML代码:
<li ng-click="change('gemeente')"><a>locatie</a></li>
<div id="WifiSpots" ng-controller="ListController" class="col-sm-12 col-md-4 col-md-offset-2">
<div ng-repeat="item in openData | filter:searchText | orderBy: order">
<ul class="list-group">
<li class="list-group-item">
<div class="row wifiSpots" >
<div class="col-md-2">{{item.locatie}}</div>
<div class="col-md-2">{{item.gemeente}}</div>
<div clas="col-md-1">{{item.distance}}</div>
<div clas="col-md-1">{{item.duration}}</div>
<button ng-controller="MapController" ng-click="calculateAndDisplayRoute(item.objectid)" class="btn ">Selecteer</button>
</div>
</li>
</ul>
</div>
</div>
答案 0 :(得分:0)
ng-repeat指令中的'order'与控制器中的'order'的范围不同。像这样添加一个包装类:
$scope.opts = {order: ""};
然后在你的更改功能中更新:
$scope.opts.order = value;
在html中:
orderBy:opts.order