#angular #angular7 #angular8 #angular9
#angular #angular7 #angular8 #angular9
Вопрос:
Я довольно новичок в разработке интерфейсов. Один вопрос, который мне задали в интервью angular, и я не смог на него ответить. Вопрос заключается в следующем:
Предположим, у вас есть экран входа в систему, и вы вводите имя пользователя и пароль для входа. Теперь после 5-6 страниц или после n количества страниц существует требование, требующее имени пользователя. Как вы получите доступ к имени пользователя там? Моим ответом было, что я могу использовать queryparam для этого. Затем интервьюер сказал, что это можно сделать с помощью параметров запроса, но это не очень хороший способ всегда переносить имя пользователя в параметры запроса.
Каким должен быть правильный ответ на это? Как это можно сделать
Комментарии:
1. Сохраните его в локальном хранилище, хранилище сеанса или извлеките с сервера.
2. Как сказал @RobbyCornelissen, вы не помещаете его в localStorage или sessionStorage, но в большинстве случаев вы сохраняете такого рода информацию в выделенной (аутентификационной) службе при получении ее с сервера
Ответ №1:
Предполагая, что вы заранее отправили HTTP-запрос для ПОЛУЧЕНИЯ необходимой информации, вы можете сохранить его в локальном хранилище, хранилище сеансов или, в зависимости от размера вашего веб-приложения, я часто сохраняю его в хранилище NgRx.
Ответ №2:
Метод 1: используйте HTTP-запрос GET для подключенного серверного сервера и извлеките оттуда зарегистрированного пользователя, который сохраняется при успешном входе в систему.
Метод 2: В Angular мы можем сохранить вошедшего в систему пользователя в сервисе. И используйте внедрение зависимостей для получения значения переменной.(это может быть ответ, который они ожидали, если смотреть с точки зрения интерфейса angular) Если вы находитесь на любой странице, вы можете получить значение из службы angular, ссылка ниже показывает, как это реализовано
Ответ №3:
Используйте токены для получения данных из серверной части при входе в систему. Создайте класс в своем интерфейсе, в котором есть методы, отвечающие за извлечение определенной информации из вашего токена, например, имя пользователя, идентификатор, адрес электронной почты и т. Д.
Вы можете вызывать методы этого класса везде, где вам нужно в вашем интерфейсе, просто введя этот класс (содержащий МЕТОДЫ, отвечающие за извлечение информации из токена)
Я предпочитаю JWT