Угловой: Добавьте распознаватель к компоненту без маршрута

#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 .