使用相同的控制器在视图中使用ng-repeat两次

时间:2015-04-30 17:57:55

标签: angularjs

我正在使用一个控制器来查看看起来像这样的视图

<div>
<div ng-repeat="blah in blah1">
</div>
<div ng-repeat="blah in blah2">
</div>
</div>

问题在于第二次使用ng-repeat,它似乎与第一次重复中看到的重复。我已经确认 blah1 实际上与 blah2 不同。我不确定为什么第二次ng-repeat会通过blah1中的项目。

任何线索?

谢谢!

3 个答案:

答案 0 :(得分:3)

也许blah2的ng-repeat包含在blah1的ng-repeat中,因此每次重复blah2时它都会重复blah1内容。

否则应该可以正常工作

<div ng-app='bla'>

<div  ng-controller='ctrl'>
    <div ng-repeat="blah in blah1">
        <span>{{blah}}</span>
    </div>
    <hr/>
    <div ng-repeat="blah in blah2">
        <span>{{blah}}</span>
    </div>
</div>

</div>

<script>
    angular.module('bla', [])
.controller('ctrl', ctrl);

function ctrl($scope){

    $scope.blah1 = [1,2,3,4,5,6,7,8,9];

    $scope.blah2 = [21,22,23,24,25,26,27,28,29]

}
</script>

https://jsfiddle.net/hsdcpk2x/1/

答案 1 :(得分:1)

ng-repeat恰好覆盖了blah1和blah2中的所有项目。如果第二个ng-repeat重复blah1,那么它们实际上是相同的。您应该发布更多代码,以便我们能够解决实际问题。

答案 2 :(得分:-1)

使用ng-repeat-start和ng-repeat-end
希望它能解决你的问题