Cri*_*eza 1 javascript angularjs angularjs-ng-repeat angular-filters
如何仅在输入大于 3(或 N)个字符时应用过滤器来获得 ng-repeat 的结果?
我尝试了以下(过滤器: input.lenght > 3):
<input type="text" ng-model="input" placeholder="Search">
<li ng-repeat="detail in details | filter: input.lenght > 3">
{{ detail.name }}
</li>
Run Code Online (Sandbox Code Playgroud)
但它不起作用。我怎样才能做我想做的事?问候朋友。
解决方案:
<input type="text" ng-model="input" ng-minlength="3" placeholder="Search">
Run Code Online (Sandbox Code Playgroud)
像这样对过滤器使用三元运算
<li ng-repeat="detail in details | filter: (input.length > 3)? input : ''">
angular.module("app",[])
.controller("ctrl",function($scope){
$scope.details = [{"name":"ssss"},{"name":"aaaa"},{"name":"cccc"}]
})Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="app" ng-controller="ctrl">
<input type="text" ng-model="input" placeholder="Search">
<li ng-repeat="detail in details | filter: (input.length > 3)? input : ''">
{{ detail.name }}
</li>
</div>Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1858 次 |
| 最近记录: |