2016-07-29 70 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>