0

我正在尝试为 ng-repeat 创建的元素的子元素附加一个不同的值。

div(ng-repeat=" element in array ")
    div(ng-init=" this.value='zero' " ng-class=" this.value === my.value ? 'match' : 'not' " )
    div(ng-init=" this.value='one1' " ng-class=" this.value === my.value ? 'match' : 'not' " )

是动态设置的$scope.my.value,但如上所示,我想根据this.value硬编码到其ng-init.

但这并没有给我结果。也许this.value没有附加到元素上。我做错了什么(我不知道为什么我认为this会起作用),有没有其他方法可以做我想做的事?

我想我的问题的症结是:this每个元素是否有一个 /equivalent 我可以将一些不同的值固定到?

4

1 回答 1

0

您可以在每个元素上放置一个控制器,并使用 $index 初始化它们的值:

HTML:

<div ng-repeat="element in array" ng-class=" value === my.value ? 'match' : 'not' " 
     ng-controller="elementController"></div>

Javascript:

module.controller('elementController', ['$scope', function($scope){
    if($scope.$index == 0){
        $scope.value = 'zero'
    }
    if($scope.$index == 1){
        $scope.value = 'one1'
    }
}]);
于 2014-06-27T05:06:37.763 回答