Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/463.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Angular.js。如何计算满足自定义筛选器的ng重复迭代次数_Javascript_Angularjs_Ng Repeat - Fatal编程技术网

Javascript Angular.js。如何计算满足自定义筛选器的ng重复迭代次数

Javascript Angular.js。如何计算满足自定义筛选器的ng重复迭代次数,javascript,angularjs,ng-repeat,Javascript,Angularjs,Ng Repeat,这是我的密码: <div ng-show="?" ng-repeat="item in items | notEmpty"> </div> 过滤器: Kb.filter("notEmpty", function(){ return function(input){ var output=[]; for(var i=0;i<input.length;i++){ if(input[i]){ output.push(

这是我的密码:

<div ng-show="?" ng-repeat="item in items | notEmpty">
</div>

过滤器:

Kb.filter("notEmpty", function(){ 
  return function(input){
    var output=[];
    for(var i=0;i<input.length;i++){
      if(input[i]){
        output.push(input[i]);
      }
    }
    return output;
}});
Kb.filter(“notEmpty”,function(){
返回函数(输入){
var输出=[];

对于(var i=0;i而言,最简单的方法可能是在控制器中运行过滤器。类似于以下内容:

function MyCtrl($scope, notEmptyFilter)
{
    //$scope.items is put into the scope somehow
    $scope.filteredItems = notEmptyFilter($scope.items);
}
<div ng-show="filteredItems.length > 0" ng-repeat="item in filteredItems">
</div>
然后,您的HTML将如下所示:

function MyCtrl($scope, notEmptyFilter)
{
    //$scope.items is put into the scope somehow
    $scope.filteredItems = notEmptyFilter($scope.items);
}
<div ng-show="filteredItems.length > 0" ng-repeat="item in filteredItems">
</div>

ng repeat
表达式允许将筛选结果分配给变量。可以从当前范围访问此变量,以便您可以在同一范围内任意使用它:

筛选项目数:{{filteredItems.length}

{{$index}}
我找到了这个

,


这描述了从Angular 1.3开始,要在筛选列表后获取计数,您可以使用以下语法进行
ng repeat

variable in expression as alias_expression
即:

<p>Number of filtered items: {{filteredItems.length}}</p>

<div ng-repeat="item in items | notEmpty as filteredItems">
 ...
</div>
筛选项目数:{{filteredItems.length}

...
谢谢。我不知道我能做这样的语法:
ng repeat=“filteredItems=(items | notEmpty)
谢谢!真不敢相信我们有这样一个语法,到底是谁发明了这样一个语法?疯了,不是吗?
从Angular 1.3开始,您可以在表达式中使用
变量作为alias_表达式
完美。工作正常。谢谢。