次の Angularjs スニペットでは、デフォルトでテーブル全体が表示され、入力を開始するとフィルタリングされます。
デフォルトで結果を表示せず、少なくとも 3 つの結果が検索クエリに一致した後にのみ結果を表示するように変更するには、どのようなベスト プラクティスがありますか?
おまけの質問ですが、最低 2 文字が入力された場合にのみ結果を表示するにはどうすればよいですか?
HTML :
<div ng-app="myApp">
<div ng-controller="PeopleCtrl">
<input type="text" ng-model="search.$">
<table>
<tr ng-repeat="person in population.sample | filter:search">
<td>{{person.name}}</td>
<td>{{person.job}}</td>
</tr>
</table>
</div>
</div>
Main.js :
var myApp = angular.module('myApp', []);
myApp.factory('Population', function () {
var Population = {};
Population.sample = [
{
name: "Bob",
job: "Truck driver"
}
// etc.
];
return Population;
});
function PeopleCtrl($scope, Population) {
$scope.people = Population;
}