ng-repeat中的ng-class:条件类名,具体取决于项参数

时间:2014-03-08 15:50:46

标签: angularjs angularjs-ng-repeat ng-class

ng-repeat中,我想根据某些项目参数设置ng-class的类名。

我希望为每个<li>添加性别年龄对应类的简单示例:

<div ng-init="friends = [
  {name:'John', age:25, gender:'boy'},
  {name:'Jessie', age:30, gender:'girl'},
  {name:'Johanna', age:28, gender:'girl'},
  {name:'Joy', age:15, gender:'girl'},
  {name:'Mary', age:28, gender:'girl'},
  {name:'Peter', age:95, gender:'boy'},
  {name:'Sebastian', age:50, gender:'boy'},
  {name:'Erika', age:27, gender:'girl'},
  {name:'Patrick', age:40, gender:'boy'},
  {name:'Samantha', age:60, gender:'girl'}
]">
  I have {{friends.length}} friends. They are:
  <input type="search" ng-model="q" placeholder="filter friends..." />
  <ul class="example-animate-container">
    <li class="animate-repeat" ng-repeat="friend in friends | filter:q" ng-class="friend.gender friend.name">
      [{{$index + 1}}] {{friend.name}} who is {{friend.age}} years old.
    </li>
  </ul>
</div>

不幸的是,它似乎没有这种方式。

如何简单地实现这一点?

1 个答案:

答案 0 :(得分:4)

ng-class还支持数组表示法,如果你想添加多个类,如你的情况:

ng-class="[friend.gender, friend.name]"

演示:http://plnkr.co/edit/c6NIaF2dO5pmJxbj1WRT?p=preview