ライブ検索が必要です。結果は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});
});
}]);