这里的问题是
ng-repeat创建自己的范围,所以当您执行
selected=$index此操作时,将
selected在该范围内创建一个新的属性,而不是更改现有属性。要解决此问题,您有两种选择:
将选定的属性更改为非原始属性(即对象或数组,使javascript查找原型链),然后在其上设置一个值:
$scope.selected = {value: 0};<a ng-click="selected.value = $index">A{{$index}}</a>plnkr
要么
使用
$parent变量访问正确的属性。虽然不建议使用,因为它会增加示波器之间的耦合
<a ng-click="$parent.selected = $index">A{{$index}}</a>plnkr



