2016-08-03 8 views
0

В моем приложении я хочу отображать контент на основе активной ссылки. Пример: если ссылка «новая», то «abc», и если ссылка «view», тогда отображается «xyz». Для этого я использовал следующий код для своего приложения.

<li><a href="#/new" ng-class="{active: $route.current.activetab == 'new'}">New</a></li> 
<li><a href="#/view" ng-class="{active: $route.current.activetab == 'view'}">View</a></li> 

<span class="white-text" ng-show="{{ $route.current.activetab === 'new' }}">new</span> 
<span class="white-text" ng-show="{{ $route.current.activetab === 'view' }}">view</span> 
+0

'ng-show' должно быть без директивы интерполяции с ним как' ng-show = '$ route.current.activetab ===' new '"', также убедитесь, что '$ route' был открыт для' $ scope' как '$ scope. $ route = $ route' где-то в контроллере –

ответ

3

При использовании {{}}, значения интерполируются, т.е. разметка заменяется результатом выражения. ngShow ожидает лишь выражение, так что просто использовать функцию, как она есть, и он будет работать:

<span class="white-text" ng-show="$route.current.activetab === 'new' ">new</span> 
<span class="white-text" ng-show="$route.current.activetab === 'view' ">view</span> 

В общем, вы хотите только {{ }}, когда должно отображаться ваше выражение/содержание.

Надеюсь, что это сработает!