使用ng-repeat和$ index时更改ng-model值

时间:2016-11-13 00:05:03

标签: javascript angularjs

我有一组div,在ng-repeat中。当我为这些使用ng模型时,当我从控制器中的函数更改此模型的值时,它们都在更新。即,如果我更改模型,则所有div都反映相同的值。

HTML:

<tbody ng-repeat="aw in aws">
<div ng-model="currentValue" ng-init="initializeSelects(aw.id)">{{currentValue}}</div>

控制器代码:

$scope.initializeSelects = function(awId)
{
 $scope.currentValue = "read";
}

我尝试将代码更改为:

   <tbody ng-repeat="(i, aw) in aws track by $index">
 <div ng-model="currentValue[i]" ng-init="initializeSelects(aw.id, i)">{{currentValue[i]}}</div>

$scope.initializeSelects = function(awId, i)
{
     $scope.currentValue[i] = "read";
}

在这种情况下,currentValue始终未定义,并且无法更改模型值。为什么不定义?

任何输入都会有所帮助,提前谢谢!

0 个答案:

没有答案