ng-repeat部分中的角度控制器是同一个实例吗?

时间:2015-03-07 16:17:25

标签: angularjs angularjs-ng-repeat

我试图让一部分html和一个相关的控制器重复,但我发现控制器似乎是一个单一的对象。也就是说,当我更改其中一个控制器的属性时,它会为所有控制器进行更改。我做错了什么或这是预期的行为?

Here is a simplified jsfiddle证明了这个问题。我想要每个"升级插槽"拥有它自己的selectedUpgrade值,但似乎它们都已连接。

1 个答案:

答案 0 :(得分:1)

在区div上设置slotCtrl,而不是在插槽div上设置<div ng-repeat="district in mainCtrl.districts" ng-controller="slotController as slotCtrl"> <h4>{{district.name}} slots:</h4> <div ng-repeat="slot in district.slots"> ... </div> </div> 。因此每个重复的插槽使用相同的控制器。见https://jsfiddle.net/hzzq5j3h/

而不是

<div ng-repeat="district in mainCtrl.districts">
    <h4>{{district.name}} slots:</h4>
    <div ng-repeat="slot in district.slots" ng-controller="slotController as slotCtrl">
        ...
    </div>
</div>

你想要

{{1}}