我正在使用 ng-repeat 将按钮应用于列表组项,其中该按钮在未选择时具有 btn-primary 类,在选择时具有减号 glyphico 和 btn-success 类以及 ok glyphicon。我正在尝试使用 ng-class 有条件地应用它,这很好,但我不知道如何通过 $index 选择来做到这一点。我查看了使用三元和逻辑 ( && ) 运算符的示例,但似乎无法正确使用语法。为了澄清,我想要一个按钮,点击它来更改它的图标和颜色。如您所见,我成功地使用 $index 来选择一个组项并更改其颜色没问题。
这是一个小插曲
http://plnkr.co/edit/dPoHtL7MgFNX4FhDXoBH?p=preview
<button class="btn btn-sm pull-right move-button" ng-class="{'btn-success': Activatorator, 'btn-primary': !Activatorator}" ng-click="markActive($event, this.$index)">
<span ng-class="{'glyphicon glyphicon-ok': Activatorator, 'glyphicon glyphicon-minus': !Activatorator}"></span>
</button>
***** 解决方案
我按照建议使用选定的 ng-repeat 项目修复了这个问题。由于 html 元素上的常规 'class' 有点像 if/else 中的 'else' 子句,我用它来评估按钮的默认状态,btn-primary 与 glyphicon-minus 和 ng-class 来更改按ID点击状态。
工作 plunker http://plnkr.co/edit/0j9BxFQdD2lIx7lgthDR?p=preview