问题
AngularJS
I have scenario of applying class based on a condition in which I'm storing the value in rootscope dynamically and evaluating in html angular expression but still not working
<li role="presentation" style="width:200px" ng-class="{active: true, inactive: false}[{{vm.$rootScope.currentPage}}==1]"><a href="#/create">Create</a></li>
In inspect element if I check I can see 1==1 but still class is not getting active and if I remove {{vm.$rootScope.currentPage}} and place 1 it is working
I tried this also
<li role="presentation" style="width:200px" ng-class="{'active':2=={{vm.$rootScope.currentPage}} }"><a href="#/include">include</a></li>
Same thing with this also I can see 2==2 but still not activating and if Istatically place 2==2 it is working
回答1:
You're writing it wrong, do like this:
ng-class="{'active': true, 'inactive': false}
The class name first then the condition.
And for this:
ng-class="{'active': 2 === vm.$rootScope.currentPage}"
No extra brackets inside because it's already an expression.
来源:https://stackoverflow.com/questions/36574692/condition-in-ng-class-not-working