Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript][AngularJS] podmiana części strony ng-view
colachips
post
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:
  1. <li><a href="#/view1">View1</a></li>
  2. <li><a href="#/view2">View2</a></li>
  3. <li><a href="#/view3">View3</a></li>
  4. ...
  5. <div ng-view></div>
  6. <!-- oto problem -->
  7. <div ng-controller="MenuCtrl as menu">
  8. <menu1 ng-show="{{ menu.isActive('/view1') }}"></menu1>
  9. <menu2 ng-show="{{ !menu.isActive('/view1') }}"></menu2>
  10. </div>


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.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
colachips
post
Post #2





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)...
  1. <div ng-controller="MenuController as menu">
  2. <div ng-switch="{{ menu.isActive('/view1') }}">
  3. <div ng-switch-when="true">
  4. <menu1></menu1>
  5. </div>
  6. <div ng-switch-default>
  7. <menu2></menu2>
  8. </div>
  9. </div>
  10. </div>
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 16.10.2025 - 06:55