Один из моих компонентов получает массив элементов. У каждого элемента есть разрешение, которое будет проверяться вызовом отдыха в зависимости от роли пользователя. Если пользователю разрешено использовать этот элемент, он может отображаться.
Итак, я пришел с таким подходом:
ngOnInit(): void {
for( let tile of this.tiles ) {
this.permissionCheckService.isUserPermitted( tile.name ).subscribe(
isPermitted => tile.show = isPermitted
)
}
}
Но это решение вводит новую переменную «show» . Может быть, было бы еще лучше, если бы элементы, которые не должны отображаться, были удалены из массива?
Следующим шагом должна быть реализация индикатора загрузки. Этот индикатор следует убрать, если все запросы выполнены. Но мои проблемы начинаются здесь. Я думаю, мне нужно объединить все наблюдаемые, но я не знаю, как это сделать.
Вот рабочий пример: https://stackblitz.com/edit/angular-wfjj5n-horatl?embed=1&file=src / app / alert-basi c .ts