Изменение URL-адреса в браузере вручную делает сервисы не единичными, то есть состояние теряется
В моем приложении
У меня есть loginComponent, UserService
По умолчанию пользователь перейдет на страницу входа
Там он может ввести свои учетные данные, и я делаю вызов API и использую полученные пользовательские данные, чтобы заполнить одно свойство в классе обслуживания.
После этого я перенаправляю пользователя на панель инструментов (теперь сервис работает нормально. У него есть данные пользователя)
Но теперь, если я зайду, чтобы просмотреть строку URL и вручную изменить URL для входа в систему, приложение загружает loginComponent, и данные внутри службы теряются. (возможно создание нового экземпляра сервиса)
Это ошибка...? или мы можем избавиться от этого.
1 ответ
Там нет никакого способа lock
URL-бар или предотвратить ручную навигацию.
Но вы можете попытаться поймать такие проблемы в вашем Angular
код и предупредить посетителя (с помощью всплывающего окна), чтобы не делать этого. Я нашел другой вопрос, где предлагается возможное решение.
Но вы также можете использовать localStorage (как упоминали Кирк Ларкин и Прасанна Сасне) для хранения информации для входа.