【发布时间】:2014-08-07 21:01:25
【问题描述】:
这条线似乎不适合我。
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: 错误似乎来自 = == ===。我尝试了 > 并没有发生错误。是否有替代语法来like eq?
使用解决方法更新 3
我将每个字符串映射到一个 int pagetile->1 code->2 + data-ng-class="{active:orderPropIdx==1};" 在控制器内部,如果 pagetitle 设置为 active:orderPropIdx 以此类推,我会这样做
也许这是 Angular 1.3 中的一个错误
【问题讨论】:
-
不确定是不是我在控制台中得到了一些奇怪的 html,但我没有看到任何类属性
-
你能提供一个fiddle吗?
-
会尝试,在此之前也许你有时间阅读更新。谢谢
-
无法重现您的错误,真的。
-
你试过单引号
'active'吗?