0

我有以下 twitter 引导导航栏 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 检查在运行时显示的那样,它变为:

在此处输入图像描述

AngularJS 版本是 1.0.6。

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

4

1 回答 1

1

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

摆脱所有{{ }}

ng-class="{ active: ('/' + view.name == module.url) }"
于 2013-07-26T02:07:15.340 回答