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.
linky do wyszukiwania w repozytorium zamiast na twardy plik github: https://github.com/christopherthielen/ui-router-extras/search?utf8=%E2%9C%93&q=onReactivate –
Dzięki, @Michael. Dobre miejsce. – Astravagrant