2016-07-29 58 views
0

我有一个按钮,点击时,增加到数组中的下一个索引项目。当我到达数组中的最后一项时,我想向名为“endButton”的按钮标签添加一个类。如何在ng-Class指令中评估范围对象?

我打算评估表达式的方式只涉及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

ng-directive的任何表达式已经在scope变量的上下文中,您不需要引用它。我不知道什么$ scope.myArray.Index不过我猜那就是你到索引,所以你应该能够只是将其更改为myArray.Index == 10

<button type="button" class="right-btn col-xs-6" role="menuitem" ng-click="clickNext()" ng-class="{'endButton' : index === 10}">Next</button> 

这里有一个例子的jsfiddle,请注意我没有包含数组

https://jsfiddle.net/e16v9avj/

0

你不是太遥远,从你想找的。我相信这是与您的整数和字符串的解析。这里有一个工作示例

.red { color: red }
<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>

0

也许这是你在找什么:

的jsfiddle:here

<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>