我试图为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
/等价物,我可以将一些不同的值固定在一起吗?
答案 0 :(得分: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'
}
}]);