当您键入查询结果时,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()函数。
答案 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>