我有一个按钮,单击该按钮会增加到数组中的下一个索引项。当我到达数组中的最后一项时,我想在名为“endButton”的按钮标记中添加一个类。
我打算评估表达式的方式只涉及html代码,我认为最好使用ng-class
指令。我想评估一个表达式,当为true时,添加“endButton”类。
我尝试了以下语法:
<button type="button" class="right-btn col-xs-6" role="menuitem" ng-click="clickNext()" ng-class="{'endButton' : scope.myArray.Index === 10}">Next</button>
这会将范围对象作为字符串值返回,因此不起作用。我在myArray.Index
周围加了两个大括号,但它也产生了一个字符串。
我知道如何评估ng-class
指令中的范围对象吗?
答案 0 :(得分:0)
ng-directive的任何表达式都已在scope变量的上下文中,您不需要引用它。我不确定$ scope.myArray.Index是什么,但我猜测它是你所依据的索引,所以你应该能够将它改为myArray。指数== 10
<button type="button" class="right-btn col-xs-6" role="menuitem" ng-click="clickNext()" ng-class="{'endButton' : index === 10}">Next</button>
这是一个小例子,请注意我还没有包含数组
答案 1 :(得分:0)
你离你想要的东西不太远。我相信你对整数和字符串的解析。这是一个有效的例子
.red { color: red }
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.0/angular.min.js"></script>
<div ng-app ng-init="ctr=0">
<p ng-class="{red: ctr===3}">{{ctr}}<p>
<button ng-click="ctr=ctr+1">
Click Me
</button>
</div>
&#13;
答案 2 :(得分:0)
您可以使用$last
代替检查索引。请参阅JsFiddle
并使用ng-class="{'endButton' : $last}"
<div ng-app="test" ng-controller="testController">
{{index}}
<div ng-repeat="element in array">
<div>{{element}}</div>
<button type="button" class="right-btn col-xs-6" role="menuitem"
ng-click="clickNext()" ng-class="{'endButton' : $last}">Next</button>
</div>
</div>