Używam routingu AngularUI i chciałbym zrobić ng-class="{active: current.state}"
, ale nie jestem pewien, jak dokładnie wykryć obecny stan w dyrektywie takiej jak ta.Jak wykryć bieżący stan w dyrektywie
Odpowiedz
Również można użyć ui-sref aktywną dyrektywy:
<ul>
<li ui-sref-active="active" class="item">
<a href ui-sref="app.user({user: 'bilbobaggins'})">@bilbobaggins</a>
</li>
<!-- ... -->
</ul>
lub filtrów: "stateName" | isState
& "stateName" | includedByState
Wyjazd kątową-ui konkretnie sprawdzanie trasy: http://angular-ui.github.io/ui-utils/
Aktualizacja:
Ta odpowiedź była na o wiele starszego wydania Ui-Router. W przypadku nowszych wersji (0.2.5+), użyj dyrektywy pomocniczej ui-sref-active
. Szczegóły here.
Original Odpowiedź:
Dołącz Państwowej Służby dolarów w kontrolerze. Możesz przypisać tę usługę do właściwości w swoim zasięgu.
Przykład:
$scope.$state = $state;
Następnie, aby uzyskać aktualny stan w szablonach:
$state.current.name
Aby sprawdzić, czy stan jest obecny aktywny:
$state.includes('stateName');
Ta metoda zwraca true, jeśli stan jest zawarty, nawet jeśli jest częścią zagnieżdżonego stanu. Jeśli byłeś w stanie zagnieżdżonym, user.details
, a sprawdziłeś pod kątem $state.includes('user')
, zwróciłaby ona wartość true.
W przykładzie klasy, można by zrobić coś takiego:
ng-class="{active: $state.includes('stateName')}"
Co do stanów, które mają parametry? –
https://github.com/angular-ui/ui-router/wiki/Quick-Reference#stateincludesstatename--params –
Jeśli używasz ui-routera, spróbuj $ state.is();
Można go używać tak:
$state.is('stateName');
Zastosowanie ui-sref aktywnego dyrektywy że pracował dla mnie było:
<li ui-sref-active="{'active': 'admin'}">
<a ui-sref="admin.users">Administration Panel</a>
</li>
jako znaleziono here pod komentarzem oznaczonym "tgrant59 skomentował 31 maja 2016 r.".
Używam routera kątowego v0.3.1.
- 1. Jak uzyskać bieżący stan nawigacji
- 2. Jak odświeżyć bieżący stan za pomocą VisualStateManager
- 3. Bieżący stan wideo HTML5 w 2013 r.
- 4. Jak wykryć stan myszy w Qt bez MouseEvent
- 5. Jak uzyskać bieżący stan z klasy bbv.Common.StateMachine (teraz Appccelerate.StateMachine)?
- 6. Jak wykryć zminimalizowanie formy okna?
- 7. Usługa powoduje błąd SCM "zgłosiło niepoprawny stan bieżący 0"
- 8. Bieżący stan obsługi drd i helgrind dla std :: thread
- 9. Jak zapisać bieżący kontekst użytkownika w Angular?
- 10. Async HostBinding w dyrektywie
- 11. Jak wykryć klawisz modyfikatora kliknięciem myszy w Qt
- 12. Jak wymagać kontrolera w dyrektywie angularjs?
- 13. Jak korzystać z usługi $ timeout w dyrektywie?
- 14. Powiązanie danych w dyrektywie AngularJs
- 15. Podstawianie makra w dyrektywie #include
- 16. jak uzyskać bieżący rok w Angular 1 używając tylko {{}}?
- 17. Jak wykryć zmianę modelu pola wejściowego z dyrektywy w angleular2
- 18. Jak sprawdzić stan mieszkania bieżącego wątku?
- 19. Bieżący użytkownik w Magento?
- 20. Angularjs: Posłuchaj zmiany modelu w dyrektywie
- 21. Jak wykryć kolizję w webgl?
- 22. Jak wykryć palindrom w C?
- 23. Jak wykryć onKeyUp w AngularJS?
- 24. Jak wykryć "_" w ciągu C++?
- 25. Potrzebny atrybut wartości w dyrektywie "zakres"
- 26. WhiteSpace w dyrektywie preprocesora .splintrc -D
- 27. Dwukierunkowe powiązanie danych nie działa w dyrektywie
- 28. Angular: błąd atrybutu src w dyrektywie Iframe
- 29. zdarzenie Wyłączenie ngClick obsługi w dyrektywie niestandardowego
- 30. Łącznie szablon SVG w dyrektywie angularjs
Próbuję sprawdzić bieżący stan, niekoniecznie trasę – Webnet