2013-07-26 49 views
0

我有以下Twitter的引導導航欄HTML:angularjs納克級的評估只有一次

<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>標記的類爲「活動」。之後,ng-class不會被重新評估,即使url已經改變(請參閱突出顯示的行)。爲什麼如此?

回答

1

當ng-repeat編譯模板時,它將用表達式的結果替換所有{{ }},從這一點開始,您將擁有Chrome Inspector顯示的內容。

擺脫所有{{ }}

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