我有以下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检查在运行时显示为:
AngularJS版本是1.0.6。
如您所见,第一次加载页面时,第一个<li>
标记的类是“活动的”。之后,即使url已更改,也不会重新评估ng-class(请参见突出显示的行)。为什么会这样?
答案 0 :(得分:1)
当ng-repeat编译模板时,它会将所有{{ }}
替换为表达式的结果,从那时起,您将拥有Chrome Inspector向您显示的内容。
摆脱所有{{ }}
:
ng-class="{ active: ('/' + view.name == module.url) }"