angularjs – 如何与ng-class中的字符串进行比较?

前端之家收集整理的这篇文章主要介绍了angularjs – 如何与ng-class中的字符串进行比较?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这条线似乎对我不起作用.

Sort By: <a href="" ng-click="setOrder('title')" ng-class="{active: orderProp == 'title'}">Alphabetical</a>

我必须以某种方式逃离orderProp ==’title’中的’title’吗?

在控制器中我有

...
$scope.orderProp = 'title';
$scope.setOrder = function(sortBy){
            $scope.orderProp = sortBy;
}
...

谢谢

更新:使用v1.3.0-beta.17

添加ng-class =“{active:orderProp ==’pagetitle’}到

<a href="" ng-click="setOrder('pagetitle')" ng-class="{active:orderProp=='pagetitle'}">Alphabetical</a>

抛出错误

"Error: [$parse:Syntax] http://errors.angularjs.org/1.3.0-beta.17/$parse/Syntax?p0=undefined&p1=not%20a%20primary%20expression&p2=null&p3=%7Bactive%3AorderProp%3D%3D&p4=%7Bactive%3AorderProp%3D%3D

对不起,我提出错误的方式,但我刚开始角度上周,并不知道更好的方法

更新2:
错误似乎来自= == ===.我试过>并且没有发生错误.是否有类似eq的替代语法?

解决方案更新3

我将每个字符串映射到一个int pagetile-> 1 code-> 2 data-ng-class =“{active:orderPropIdx == 1};”
如果pagetitle设置为active:orderPropIdx为1,依此类推

也许这是角度1.3中的错误

解决方法

正如评论中所述,您的班级名称应该用单引号括起来.

ng-class =“{‘active’:orderProp ==’title’}”>

此比较区分大小写.

猜你在找的Angularjs相关文章