Javascript AngularJs:我想从数组或列表中为ng repeat中的每个迭代添加一个类
如果我在作用域中有下一个数组Javascript AngularJs:我想从数组或列表中为ng repeat中的每个迭代添加一个类,javascript,angularjs,angularjs-directive,Javascript,Angularjs,Angularjs Directive,如果我在作用域中有下一个数组 $scope.colors = [ "red", "blue", "yellow", "orange", "black", "purple" ]; 我用ng重复 <div ng-repeat="car in cars"> })) 我知道我可以使用$index创建类似于myclass1、myclass2、myclass3等的东西,但我更喜欢使用更具描述性的类名 谢谢如果您正确绑定了双向绑定属性,就可以
$scope.colors = [
"red",
"blue",
"yellow",
"orange",
"black",
"purple"
];
我用ng重复
<div ng-repeat="car in cars">
}))
我知道我可以使用$index创建类似于myclass1、myclass2、myclass3等的东西,但我更喜欢使用更具描述性的类名
谢谢如果您正确绑定了
双向
绑定属性,就可以让它正常工作。此外,您可能还可以对双向绑定属性重用指令属性名称本身,以避免再添加一个属性
尝试:
并将其用作:
<div ng-repeat="car in cars">
<div class="test" ng-random-class="colors">{{car}}</div>
</div>
{{car}}
那么问题是什么?它应该很好用。你可能使用了
类
而不是颜色
我检查了好几次,并复制粘贴了相同的代码,但无法使其正常工作。你可以准备一个plnkr演示吗?它在这里正常工作是的,PSL,你可以将其添加为答案,以便我可以将其标记为有效吗?谢谢,但在我的代码中没有工作,可能是因为我在另一个指令中有这个代码?。如果我只是console.log(ngClasses)
我得到:ReferenceError:ngClasses没有定义
<div class="test" ng-random-class ng-classes="classes"></div>
.directive("ngRandomClass", function () {
return {
restrict: 'EA',
replace: false,
scope: {
ngClasses: "=ngRandomClass"
},
link: function (scope, elem, attr) {
//Add random background class to selected element
elem.addClass(scope.ngClasses[Math.floor(Math.random() * (scope.ngClasses.length))]);
}
}});
<div ng-repeat="car in cars">
<div class="test" ng-random-class="colors">{{car}}</div>
</div>