который имплементит ErrorHandler ангуляра (все ошибки попадают туда). Есть сервис для создания компонента нотификейшнов, который юзает viewContainerRef. Внедряю этот сервис в GlobalErrorHandler и получаю ошибку на скриншоте. Как можно передать ссылку на компонент, в котором произошла ошибка, чтобы заработало создание компонента оповещений?
А если ошибка не в компоненте? Как Вы определяете где ошибка произошла?
А что значит "передать ссылку на компонент, в котором произошла ошибка, чтобы заработало создание компонента оповещений"? То есть я понимаю что все эти слова значат, но как связана передача компонента в этот обработчик с созданием компонента оповещений
async showAppNotification(text: string, error: boolean = false) { this.viewContainerRef.clear(); const componentFactory = this.componentFactoryResolver.resolveComponentFactory(AppNotificationComponent); const componentRef = this.viewContainerRef.createComponent<AppNotificationComponent>(componentFactory);
Вообще AppNotificationComponent это обычно статичный компонент который присутствует в лэйуате приложения в абсолютно любой момент времени, к которому организован доступ например через сервис: appNotificationService.warning('Dog is hungry', "Feed Betty, please, she's starving") У вас другая структура?
почти так, с некоторыми нюансами. Если кликнуть на него, выводится список всех предыдущих оповещений.
И где он располагается? Для каждого компонента с ошибкой он свой?
ну вот тут я так понимаю идет динамическое создание компонента оповещений для компонента, в который внедряется сервис оповещений
Обсуждают сегодня