我想要一个实时搜索:从web api查询结果并随着用户输入而更新。
问题是列表闪烁并且“无结果”文本出现了几分之一秒,即使结果列表保持不变。我想我需要使用特殊代码删除和添加项目以避免这种情况,计算数组之间的差异等。
有没有一种更简单的方法可以至少避免这种闪烁,并且可能有可能为更改设置动画?
现在看起来像这样:
html部分是:
<div class="list-group">
<a ng-repeat="test in tests track by test.id | orderBy: '-id'" ng-href="#/test/{{test.id}}" class="list-group-item">
<h4 class="list-group-item-heading">{{test.name}}</h4>
{{test.description}}
</a>
</div>
<div ng-show="!tests.length" class="panel panel-danger">
<div class="panel-body">
No tests found.
</div>
<div class="panel-footer">Try a different search or clear the text to view new tests.</div>
</div>
和控制器:
testerControllers.controller('TestSearchListCtrl', ['$scope', 'TestSearch',
function($scope, TestSearch) {
$scope.tests = TestSearch.query();
$scope.$watch('search', function() {
$scope.tests = TestSearch.query({'q':$scope.search});
});
}]);