我是角度j的新手。我想知道如何根据角度js中的过滤器搜索来调用函数。当基于过滤器的搜索没有返回任何值时,我需要调用控制器中的函数。
<li ng-repeat="test in test_list | filter: test_id">
{{ test}}
</li>
当{{test}}列表为null时,我想调用控制器中的函数。
这对你们来说可能很容易。谢谢。
答案 0 :(得分:4)
<li ng-repeat="test in results = (test_list | filter: test_id)">
{{ test}}
</li>
然后您就可以访问$ scope.results.length
如果您需要在没有结果时显示消息,请添加
<li ng-show="results.length == 0">No results</li>
如果你想检查一下控制器的长度,你可以用几种方法做到这一点......这只有两个......
<input type="text" id="test_id" ng-model="test_id" ng-change="controllerOnChangeFunction()"/>
在您的控制器中
$scope.controllerOnChangeFunction = function() {
if ($scope.results.length == 0) {
//do stuff here
}
}
或者在您的控制器中(请记住,此手表的评估频率也会超出您的需求。
$scope.watch(
function(){
return $scope.results.length
},
function(newVal){
if (newVal == 0) {
// do you stuff here
}
}
);