Представьте, что вы разработали приложение Angular так, чтобы в нем находился модуль макета, в котором находится основной маршрутизатор, этот макет содержит боковое меню, нижний колонтитул, верхний колонтитул и пустое пространство внутри, где находится остальная часть вашего приложения.будет происходить.
В этом приложении есть службы, которые выполняют запросы к бэкэнду, и для этих служб требуются параметры, из которых пользователь может выбирать.
В макете есть поле со списком в нижнем колонтитулеэто указывает область отдела, из которой данные поступают в приложение.
Скажем, например, что пользователь в настоящее время находится в производственном отделе и в подразделе сотрудников бокового меню, но затем пользователь изменяетотдел в нечто вроде Маркетинга, щелкает в поле со списком в нижнем колонтитуле и выбирает новый отдел, текущее представление должно получить новые данные из-за изменения этого нового параметра, а затем должно соответствующим образом обновить данные.
Этотак, как я представляю, должно произойти, но яЯ не могу получить его, мне нужно обновить, чтобы это произошло, и более того, у меня мало идей о том, как сохранить этот параметр в приложении и после обновления.До сих пор я приходил к нему, храня его в localStorage, но я действительно не хочу соглашаться с ним, так как им легко манипулировать.
Я смотрю, что мои компоненты внутри остальной части моегоприложение, подписанное на службы, использующие этот параметр, получает новые данные после внесения изменений в этот комбинированный список.
Даже сейчас моя текущая реализация выглядит примерно так:
getAllEmployees(){
let areaId = localStorage.getItem('areaId');
let periodYear = localStorage.getItem('periodYear');
return this.http.get(`${environment.basic}harvey?
areaId=${areaId}&periodYear=${periodYear}`)
}
Но уже схематично, что я должен получить элемент localStoraget в каждой функции и повторить его, должен быть более простой способ.
Есть ли у вас какие-либо рекомендации?