używam nowego deferIntercept() z UI-routera, aby zaktualizować URL przeglądarki bez przeładowywania mój kontroler:ui-Router deferIntercept i stan params
$rootScope.$on('$locationChangeSuccess', function(e, newUrl, oldUrl) {
e.preventDefault();
if ($state.current.name !== 'search') {
$urlRouter.sync();
}
$urlRouter.listen();
});
Z tym kodem, kliknięcie przycisku Wstecz przeglądarki zmienia adres URL na poprzedni, ale nie mogę zaktualizować stanu kontrolera, aby odzwierciedlić tę zmianę. $ stateParams nadal zawiera wartości ustawione, gdy użytkownik po raz pierwszy załadował stronę.
Jaki jest najlepszy sposób na zaktualizowanie obiektów $ state i $ stateParams w moim kontrolerze, gdy użytkownik kliknie przycisk Wstecz lub ręcznie zmieni adres URL?
dziękuję!
Opcja '$ state' parametr nie pozostaje zaktualizowane jednak – Shamoon
jestem znalezieniem kiedy uruchomić' if (UserService.isLoggedIn()) return; 'nie robi faktycznie synchronizuję trasę, chyba że konkretnie zadzwonię do synchronizacji – Maruf