在ng-class
指令中,我有一个表达式,调用带有大括号参数的作用域方法。如果变量在控制器中初始化(其中放置了具有ng-class的元素),则参数是好的,但如果稍后更改,则在调用scope方法时,将使用变量的旧值调用该变量。 Here is a plunker for better understanding of my problem.为什么会发生这种情况,我该如何解决呢?
P.S。感谢您的建议,是的,您说得对,但我忘了为我的案例添加细节。我不能只传递变量,因为它是一个包含其他内容的字符串的一部分。 Here is an updated plunker.
更新:我使用ui-router及其ui-sref
和ui-sref-active
指令解决了我的问题。但感谢您的建议。
答案 0 :(得分:0)
不要使用花括号。
<div ng-class="{active:isActive(val)}"></div>
或根据您的更新:
<div ng-class="{active:isActive('prefix/'+val)}"></div>
答案 1 :(得分:0)