2014-12-22 13 views
5

Mam aplikację AngularJS, która używa ui.router i wtyczki ui.router-extras, a konkretnie moduł sticky-state. To pozwala mi buforować renderowany DOM z danego stanu nadrzędnego w dół.Jakie wydarzenie może zostać wywołane w momencie przejścia ui.routera w stan lepki?

Problem polega na tym, że po przejściu do stanu, który ustawiłem jako "lepki" (tzn. Buforowany), żadne z wydarzeń związanych z tym stanem nie zostanie wywołane. Zdaje się, że OnEnter i Resolve działały już i są buforowane.

states.push({ name: 'root.planner',    url: 'planner', 
       abstract: true, 
       views: { 
       'planner-tab': { 
        controller: 'planner', 
        templateUrl: 'views/planner/_planner.html' 
       } 
       }, 
       sticky:true, 
       deepStateRedirect: true 
      }); 
states.push({ name: 'root.planner.home', url: '', 
       controller: 'planner.home', 
       templateUrl: 'views/planner/_planner.home.html', 
       resolve: { 
       'promiseDays': function(PlannerService){ 
        return PlannerService.getDays(); 
       } 
       }, 
       onEnter: function(StatusService){ 
       //set editable 
       StatusService.toggleEditIcon(true); 
       }, 
       onExit: function(StatusService){ 
       //set editable 
       StatusService.toggleEditIcon(false); 
       } 
      }); 

Potrzebuję sposobu na uruchomienie OnEnter lub jakiegoś podobnego zdarzenia, które można dostosować do każdego stanu. Idealnie byłoby to wewnątrz konfiguracji stanu powyżej (dzięki czemu mogę uniknąć sprawdzania stanu na każdym stanie stateChangeSuccess, na przykład), ale jestem otwarty na sugestie.

Odpowiedz

4

Z issue podniesiony na GitHub, Chrystus T (deweloper UI-Router-dodatkami) usłużnie sugeruje to:

„Choć nie jest to udokumentowane, stany Sticky wywoła onInactivate i onReactivate callbacków Zobacz kod źródłowy w. następujące wiersze:”

onInactivate

onReactivate

Który działa idealnie dla mnie.

+1

linky do wyszukiwania w repozytorium zamiast na twardy plik github: https://github.com/christopherthielen/ui-router-extras/search?utf8=%E2%9C%93&q=onReactivate –

+0

Dzięki, @Michael. Dobre miejsce. – Astravagrant