AngularJS。 ng-repeat中过滤器的奇怪行为

时间:2013-11-27 15:45:55

标签: angularjs

为什么AngularJS在ng-repeat中多次调用过滤器?

例如:

控制器:

$scope.data = [1,2,3];

查看:

<div ng-repeat="item in data">
    {{ item | mySuperFilter }}
</div>

过滤器:

.filter('mySuperFilter', function(){
    return function(v) {
        console.log(v);
        return v;
    }
});

并导致控制台:

1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3

为什么有角度呢?

PS:对不起我的英文

1 个答案:

答案 0 :(得分:0)

尝试使您的数据对象成为对象数组,而不是像现在一样使用整数数组。像这样......

控制器:

$scope.data = [
  {value: 1},
  {value: 2},
  {value: 3}];

查看:

<div ng-repeat="item in data">
  {{ item.value | mySuperFilter }}
</div>