![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 49 Pomógł: 0 Dołączył: 12.01.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Jestem bardzo początkujący w AngularJS i chciałbym aby dodatkowo, poza widokiem (view1, view2, view3), zostało załadowane <menu1> lub <menu2>, w zależności czy jesteśmy na stronie głównej (view1 - wtedy chcę menu1) czy na jakiejkolwiek innej stronie (wtedy menu2). Więc coś mniej więcej takiego:
Po kliknięciu w któryś link ładuje się odpowiedni widok w ng-view, czyli to działa dobrze. Jednak menu nie zostaje podmienione... Wiem na czym mniej więcej polega problem (ng-view ładuje widok, ale nie wie żeby podmienić menu). Nie mam jednak pomysłu na mądre rozwiązanie (takie, żeby nie było DRY)... Dzięki i pozdr. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 717 Pomógł: 120 Dołączył: 18.04.2009 Ostrzeżenie: (0%) ![]() ![]() |
a próbowałeś $route.current?
https://docs.angularjs.org/api/ngRoute/service/$route w połączeniu z ng-switch. -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 49 Pomógł: 0 Dołączył: 12.01.2009 Ostrzeżenie: (0%) ![]() ![]() |
Niestety nie wiem co mam zrobić. Próbowałem zamienić ng-show na ng-switch, ale to działa tak samo (czyli trzeba dodatkowo odświerzyć stronę ręcznie aby prawidłowe menu się pokazało)...
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 717 Pomógł: 120 Dołączył: 18.04.2009 Ostrzeżenie: (0%) ![]() ![]() |
a co masz w funkcji menu.isActive? (i w ogóle w kontrolerze)
Próbowałeś z $route.current? Ten post edytował PrinceOfPersia 15.06.2014, 18:11:01 -------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 49 Pomógł: 0 Dołączył: 12.01.2009 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 717 Pomógł: 120 Dołączył: 18.04.2009 Ostrzeżenie: (0%) ![]() ![]() |
wywal klamerki:
ng-switch="{{ menu.isActive('/view1') }} --> ng-switch="menu.isActive('/view1') " no i dlatego pewnie ng-show nie działało (przez klamerki) btw. miałem na myśli bardziej coś w rodzaju Kod <div ng-switch="$location.path()"> <div ng-switch-when="/view1"> </div> <div ng-switch-when="/view2"> </div> </div> ale to drobiazg.. Ten post edytował PrinceOfPersia 15.06.2014, 18:39:53 -------------------- |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 49 Pomógł: 0 Dołączył: 12.01.2009 Ostrzeżenie: (0%) ![]() ![]() |
Problem w tym, że to moje działa ale źle.
1. wchodzę na stronę główną: http://localhost/app/#/view1 - ładuje się content ng-view dla view1 oraz menu1.html - OK 2. przechodzę na inną podstronę: http://localhost/app/#/view2 - ładuje się content ng-view ale menu1.html pozostaje nadal (chcę załadować menu2.html od razu) - NIE OK 3. robię ctrl+r i dopiero teraz menu2.html się ładuje... Może zamiast tak kombinować po prostu wkleję te <menu*></menu*> do wszystkich podstron (view1.html, view2.html itd.) i już? Będzie brzydko, ale co tam... |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 717 Pomógł: 120 Dołączył: 18.04.2009 Ostrzeżenie: (0%) ![]() ![]() |
Ale pokaż więcej kodu, jaki masz. Może gdzieś indziej jest problem.
-------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 10:22 |