Как передавать данные между маршрутами, а не параметры запроса. Angular 5 - PullRequest
1 голос
/ 04 апреля 2020

Я использую angular 5, как я могу передать данные в другой компонент из другого модуля.

Я пробовал общий сервис. Попробовал, повторить тему, тему поведения и тему. Данные исчезают после изменения маршрута. Пожалуйста, помогите.

component1

this.sharedService.setReferenceObject(data);
this.router.navigateByUrl('component2');

sharedService

export class SalesOrderService {

myReferenceSubj = new ReplaySubject<MyReference>(null);
public myReferenceSubj$ = this.myReferenceSubj.asObservable();

constructor(){}
  setReferenceObject(data: MyReference) {
    this.myReferenceSubj.next(data);
  }
}

Компонент 2

constructor(){
this.sharedService.myReferenceSubj$.subscribe(data => {
            console.log(data, "data++++") // returning null
          });
}

данные получают как ноль. Есть ли способ, которым мы можем передавать данные с маршрутом, без параметров запроса?

1 Ответ

0 голосов
/ 04 апреля 2020

Попробуйте использовать синтаксис Dependency Injection для создания экземпляра «sharedService» внутри Компонента 2 и создайте объект myReferenceSubj $ для BehaviourSubject.

constructor(private sharedService: SalesOrderService){
}

ngOnInit(){
    this.sharedService.myReferenceSubj$.subscribe(data => {
            console.log(data, "data++++") 
   });
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...