我试图让一部分html和一个相关的控制器重复,但我发现控制器似乎是一个单一的对象。也就是说,当我更改其中一个控制器的属性时,它会为所有控制器进行更改。我做错了什么或这是预期的行为?
Here is a simplified jsfiddle证明了这个问题。我想要每个"升级插槽"拥有它自己的selectedUpgrade
值,但似乎它们都已连接。
答案 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}}