Angular ng-repeat on-filter

时间:2014-07-22 16:54:18

标签: javascript angularjs

当您键入查询结果时,angular是否具有onfilter方法或onquery:

例如:

<input type='text' ng-model='query'>
<table>
    <tr>
        <td>Name</td>
        <td># of Enrollments</td>
    </tr>
    <tr ng-repeat='c in courses | filter:query' onfilter='someStuff()'>
        <td>{{c.name}}</td>
        <td>{{c.enrollmentLength}}</td>
    </tr>
</table>

当我在输入文本中键入字母“a”时,我希望它调用someStuff()函数。

2 个答案:

答案 0 :(得分:4)

执行此操作的方法是使用控制器内的手表:

$scope.$watch('query', function(newval) {
   // this will fire when query is changed
});

答案 1 :(得分:1)

过滤器可以call a function而不是使用表达式。这是一个例子:

$scope.processQuery = function(course) {
  // do some processing
};


<input type='text' ng-model='query'>
<table>
    <tr>
        <td>Name</td>
        <td># of Enrollments</td>
    </tr>
    <tr ng-repeat='c in courses | filter:processQuery'>
        <td>{{c.name}}</td>
        <td>{{c.enrollmentLength}}</td>
    </tr>
</table>