Я хочу передать объект между 2 компонентами.Я создал следующую общую службу:
[PageService Component]
private messageSource = new BehaviorSubject([]);
currentMessage = this.messageSource.asObservable();
changeMessage(message) {
this.messageSource.next(message)
}
И я реализовал ее в следующих двух компонентах:
[COMPONENT WHEN I GET ON CLICK SONO DATAS]
constructor(private pageService: PageService, private _sanitizer: DomSanitizer) {}
...
onClickMethod(){
self.pageService.getCustomers(self.filters).toPromise().then(response => {
self.searchResults = response;
});
self.pageService.changeMessage(self.searchResults);
}
и
[Component where I need to see above datas]
ngOnInit() {
let self = this;
self.pageService.currentMessage.subscribe(message => self.searchResults = message);
console.log(self.searchResults);
}
Сейчас ... еслиЯ помещаю метод "changeMessage" в первый компонент в методе OnInit или в конструкторе, и я пытаюсь передать некоторые данные, такие как [1,2,3] (так что это не ответ другого API-интерфейса), это, кажется, работает ...Это не работает, только когда я помещаю его в метод onClick и передаю "self.searchResults" (ответ) ... кто-нибудь может мне помочь?
Спасибо