Pracuję nad projektem kanciastym, w którym ustawiłem moje stany, jak pokazano poniżej.angularjs ui-router stateparams niewidoczne przegrane na odświeżenie strony
$stateProvider.state('UserPanel', {
url: '/user',
params: { userId: null },
views: {
'[email protected]': {
templateUrl: '/AngViews/UserPanel/UserPanel.UserDetails.html'
}
}
});
kiedy przejść do widoku, trwa params z nim, więc ta część działa.
Ale po aktualizacji strony traci ona parametry. Wiem, że jeśli zdefiniowałem parametry w zmiennej url, to zadziała. ale chcę uczynić to niewidzialnym.
Znalazłem coś w rodzaju this, ale nie wiem, czy to rozwiąże mój problem. nie może działać tak, jak działa. kto może wyjaśnić, jak można to zrobić?
Dzięki za poświęcony czas
Po odświeżeniu aplikacji w rzeczywistości pełna aplikacja zostanie uruchomiona ponownie. Dlatego żadne wcześniejsze dane nie będą przechowywane w aplikacji. Jedyną częścią, która nie zostanie odświeżona, jest adres URL. Więc jeśli umieścisz stateparam w adresie URL, zadziała to inaczej, musisz użyć localstorage lub czegoś podobnego do przechowywania danych. – Indra
Widzę. ale czy jest możliwe zapisanie go w lokalnej pamięci lub buforowanie go tylko na jednej stronie, a następnie usunięcie go, gdy zmienia stan? – DaCh
Tak, to możliwe. Dla każdej trasy istnieje określona funkcja rozstrzygania. Tak więc na konkretnej trasie możesz ustawić dane w pamięci lokalnej, a w innym musisz usunąć localstorage. – Indra