Я создал класс с именем Service.ts для передачи данных от одного компонента к другому в угловом формате 8:
import { Injectable } from '@angular/core';
import { Observable, Subject } from 'rxjs';
@Injectable()
export class MyService {
myMethod$: Observable<any>;
private myMethodSubject = new Subject<any>();
constructor() {
this.myMethod$ = this.myMethodSubject.asObservable();
}
myMethod(data: any) {
console.log(data);
this.myMethodSubject.next(data);
}
}
вот компонент "отправителя":
user: User = new User();
constructor(private http: HttpClient, private myService: MyService, private activatedRoute: ActivatedRoute) { }
getCliente(){
//do stuff
this.myService.myMethod(this.user);
}
и вот компонент получателя:
constructor(private http: HttpClient, private activatedRoute: ActivatedRoute, private myService: MyService) {
this.myService.myMethod$.subscribe((data) => {
console.log("C",data);
});
}
проблема в том, что журнал ("C", данные) не работает, когда я загружаю компонент получателя, а только когда я перезагружаю компонент отправителя.
Вот мой маршрут:
const routes: Routes = [
{ path: 'sender', component: MainComponent },
{ path: 'receiver', component: PrimoPianoComponent }
];