角度JS中的1个字符过滤器

时间:2017-06-15 22:56:45

标签: javascript angularjs angularjs-filter

以角度显示过滤器问题。

以角度过滤,当我输入两个字符时会发生数据过滤,如果输入1个字符,则不会发生任何事情。

<input type="text" ng-model="filterAge">

<table>
  <tr ng-repeat="r in vm.Data | filter: filterAge">
    <td>{{r.Age}}</td>
  </tr>
</table>
  

如何使角度为1个字符做过滤?

例如,如果我输入1,它不会过滤,如果我输入19,它会过滤......

2 个答案:

答案 0 :(得分:2)

您可能在vm.Data中没有任何单个数字值,或者您的所有值都包含&#39; 1&#39;在其中 - 尝试使用0-9中的所有数字输入。

我的过滤器在这里使用单个数字:

https://jsfiddle.net/AKMorris/7xn77eeh/

HTML:

<div data-ng-app='myApp' data-ng-controller='myCtrl'>

   <input type="text" ng-model="filterAge"/>

<table>
 <tr ng-repeat="r in vm.Data | filter: filterAge">
 <td>{{r.Age}}</td>
</tr>
</table>

</div>

使用Javascript:

var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
        $scope.vm = {};   
    $scope.vm.Data = [
    {"Age":19},
    {"Age":1},
    {"Age":2},
    {"Age":3},
    {"Age":22},
    {"Age":43}
    ];
});

答案 1 :(得分:-2)

<tr ng-repeat="r in vm.Data | filter: filterAge>

您在ng-repeat

结尾处错过了结束引号(&#34;)