#angular
#угловой
Вопрос:
Я работаю над приложением, в котором у меня есть три разных маршрута для лениво загруженного модуля. Я использую маршрутизатор-розетку для отображения этих маршрутов и имею статический компонент, который остается неизменным на протяжении всех этих трех маршрутов. Я хочу получить доступ к данным из преобразователя в моем статическом компоненте, но я получаю undefined
.
Вот код:
статический.компонент.ts
ngOnInit(){ const data = this.activatedRoute.snapshot.data['deliveryData']; console.log(data); //undefined, since it's not a route }
корзина.решатель.ts
resolve(): Observablelt;anygt;{ const payload = xyz; return this.http.postHttpRequest(payload); }
Страница выглядит примерно так:
- lt;router-outletgt;lt;/router-outletgt; - lt;static-componentgt;lt;/static-componentgt;
Поэтому я не могу использовать вывод. Как я могу это решить? Любая помощь будет признательна. Спасибо!
Ответ №1:
Попробуйте воспользоваться услугами.
Создайте общую службу и установите данные доставки, используя setDeliveryData(data)
их, когда захотите, и мы сможем получить данные в статическом компоненте аналогичным образом, как показано ниже.
сервис.ts
deliveryData: any = {}; publish void setDeliveryData(data : any) { this.deliveryData = data; }
статический.компонент.ts
ngOnInit(){ const data = this.sharedService.getDeliveryData(); console.log(data); }
Ответ №2:
Я решил эту проблему, объявив статический компонент как an Auxiliary Route
.