我有一个基本的角度应用程序,可以从本地json文件中对种类列表进行排序和过滤。当应用程序初始化时,没有返回任何物种。当您开始输入时,会返回一些物种,如果您删除了搜索字词,则会返回所有物种。
我想在应用初始化时返回所有物种。
答案 0 :(得分:1)
您是否尝试过filterData设置为get?
返回的数据答案 1 :(得分:1)
我认为使用内联符号来过滤更简洁,这可以避免这个问题:
<div ng-repeat="animal in species | filter:query | orderBy:orderProp")>
注意:然后,您可以删除在$watch
query
的代码
编辑:正如您在控制器中特别想要的那样:
您的过滤器初始化为空白的原因是因为您的$ scope.species数据是异步填充的。触发第一个$watch
时,没有要过滤的数据。在您输入查询之前,情况仍然存在。
要解决此问题,请在数据到达后设置$watch
,如下所示:
$http.get('species.json').success(function(data) {
$scope.species = data;
$scope.$watch('query', function (query) {
$scope.filteredData = $filter('filter')($scope.species, query);
});
});
或者,您可以在success
回调中手动运行一次过滤功能。