Javascript 在angular js中将表达式用作ng类

Javascript 在angular js中将表达式用作ng类,javascript,angularjs,class,Javascript,Angularjs,Class,我有一个无序的列表中,我想为每个李,这将是动态不同的类 我的代码是 $scope.className = ['clr1','clr2','clr3','clr4','clr5']; 我的Html: <div> <ul> <li ng-repeat="item in mainitem" ng-style="{color: color[$index]}" > <span ng-clas

我有一个无序的列表中,我想为每个李,这将是动态不同的类

我的代码是

$scope.className = ['clr1','clr2','clr3','clr4','clr5'];
我的Html:

  <div>
        <ul>
         <li  ng-repeat="item in mainitem"  ng-style="{color: color[$index]}" >
              <span  ng-class="{className [$index]}">{{ item.name}}</span>  // At this line I ahve added dynamic class but its not working
          </li>
        </ul>
   </div>

  • {{item.name}}//在这一行我添加了动态类,但它不起作用
这不是按类名数组应用的类


这个代码有什么问题吗?谢谢你的帮助

您可以使用
[]
而不是
{}

 <div>
        <ul>
         <li  ng-repeat="item in mainitem"  ng-style="{color: color[$index]}" >
              <span  ng-class="[className[$index]]">{{ item.name}}</span>  
          </li>
        </ul>
   </div>

  • {{item.name}

例如,请参见此代码笔

当问题中发布了代码时,您在计算类名时缺少一个大括号

<span  ng-class="{className [$index]}">{{ item.name}}</span>
{{item.name}
应该是

<span  ng-class="{{className [$index]}">{{ item.name}}</span>  
{{item.name}

当它不计算时,您将完全没有类

为什么不将CSS类与
:第n个孩子(n+1)
一起使用,等等。谢谢!!你能用代码更新吗?@CodeWithCoffee我在下面提供了一个链接,它没有添加类<代码>$scope.className=['clr1'、'clr2'、'clr3'、'clr4'、'clr5']-但是我在你的代码中没有看到CSS中声明的任何类。谢谢,它似乎是这样工作的!!非常感谢你!!CSS中没有提供,但是它得到了类。然后,还有第二个问题(我将查找)。但是我指出的错误仍然需要纠正。是的,我错过了!!虽然我用的是第二个!!但它并没有增加阶级