我正在努力解决一个我认为可能与我正在工作的范围有关的问题。我使用 $http 请求来获取一些 json 数据。
var myApp = angular.module('myApp', []);
myApp.controller('PeopleController', function($scope, $http) {
var url = 'https://sweltering-fire-6061.firebaseio.com/people.json';
$http.get(url).success(function(data) {
$scope.people = data;
});
数据在我的表中显示良好:
<table>
<tr ng-repeat="person in people | filter:query | orderBy:orderBy">
<td>{{person.name}}</td>
<td>{{person.born}}</td>
</tr>
</table>
<p>
<select ng-model="orderBy">
<option value="name">Name</option>
<option value="born">Birth</option>
</select>
</p>
<p>Search:<input ng-model="query"/></p>
但是,由于我声明使用 $http 请求检索数据,因此我的过滤器和 orderBy 不再起作用。这是因为我设置$scope.people = data
在一个较低的范围内。如果是的话,有什么办法可以解决这个问题吗?
我已经在 Cloud9 IDE 和 Brackets 中对此进行了测试。谢谢你