如何使转发器项目在 ng-repeat 之外工作

How to make repeater item works outside of ng-repeat

我已经开始尝试 AngularJS。 现在我想我遇到了 ng-class 的新手问题。 我正在尝试更改 awesome 字体图标的颜色。

<div ng-controller="MyCtrl">
<i ng-class="{'test': item.active}" class="fa fa-bullhorn"></i>

我有一个复选框并通过 ng-model 绑定到参数

<div class="checkboxes">
  <form>
    <span ng-repeat="item in items">
      <input type="checkbox" ng-model="item.active"> {{item.name}}<br>
    </span>
  </form>
</div>
</div>

当我点击复选框时,范围是这样的:

[{"category":"category1","name":"Item1","active":true}]

但是第i个元素的class只有"fa fa-bullhorn".

开始颜色是黑色,css class 测试看起来像

.test{
color: red;
}

有人可以帮我吗?

ng-repeat="item in items" 中是否存在该图标?如果不是,则 "item" 在图标的上下文中不存在。

<i ng-class="{'test': item.active}" class="fa fa-bullhorn"></i>

item.active 应该像这样在 repeater 里面

<span ng-repeat="item in items">
   <input type="checkbox" ng-model="item.active"> {{item.name}} {{item.active}}
      <i ng-class="{'test': item.active}" class="fa fa-bullhorn"></i><br>
</span>

看演示http://plnkr.co/edit/RcposHlL8uSLZs39IvyK