angularjs ng-class只评估一次

时间:2013-07-26 01:54:42

标签: angularjs

我有以下twitter bootstrap navbar html:

<ul class="nav">
    <li ng-repeat="module in modules" ng-class="{active: ('{{ '/' + view.name }}' == '{{ module.url }}')}">
        <a ng-href="#{{ module.url }}">{{ module.name }}</a>
    </li>
</ul>

Chrome检查在运行时显示为:

enter image description here

AngularJS版本是1.0.6。

如您所见,第一次加载页面时,第一个<li>标记的类是“活动的”。之后,即使url已更改,也不会重新评估ng-class(请参见突出显示的行)。为什么会这样?

1 个答案:

答案 0 :(得分:1)

当ng-repeat编译模板时,它会将所有{{ }}替换为表达式的结果,从那时起,您将拥有Chrome Inspector向您显示的内容。

摆脱所有{{ }}

ng-class="{ active: ('/' + view.name == module.url) }"