Изменение URL-адреса в браузере вручную делает сервисы не единичными, то есть состояние теряется

В моем приложении

У меня есть loginComponent, UserService

По умолчанию пользователь перейдет на страницу входа

Там он может ввести свои учетные данные, и я делаю вызов API и использую полученные пользовательские данные, чтобы заполнить одно свойство в классе обслуживания.

После этого я перенаправляю пользователя на панель инструментов (теперь сервис работает нормально. У него есть данные пользователя)

Но теперь, если я зайду, чтобы просмотреть строку URL и вручную изменить URL для входа в систему, приложение загружает loginComponent, и данные внутри службы теряются. (возможно создание нового экземпляра сервиса)

Это ошибка...? или мы можем избавиться от этого.

1 ответ

Там нет никакого способа lock URL-бар или предотвратить ручную навигацию.

Но вы можете попытаться поймать такие проблемы в вашем Angular код и предупредить посетителя (с помощью всплывающего окна), чтобы не делать этого. Я нашел другой вопрос, где предлагается возможное решение.

Но вы также можете использовать localStorage (как упоминали Кирк Ларкин и Прасанна Сасне) для хранения информации для входа.

Другие вопросы по тегам