I have main component
home.component.ts
:
ngOnInit() {
this.metaService.getMetaCompany()
.subscribe((response: Json) => {
let metaCompany = <MetaCompany>response.data;
this.interactionService.setGlobalMetaCompany(metaCompany);
});
}
interaction.service.ts
:
private globalMetaCompanySource = new Subject<MetaCompany>();
globalMetaCompany$ = this.globalMetaCompanySource.asObservable();
setGlobalMetaCompany(metaCompany: MetaCompany) {
this.globalMetaCompanySource.next(metaCompany);
}
and component where I need to get data
left-menu-admin.component.ts
:
constructor(private interactionService: InteractionService) {
this.globalMetaCompanySubscription = this.interactionService.globalMetaCompany$.subscribe(
(metaCompany: MetaCompany) => {
this.companyName = metaCompany.companyName;
this.avatarUri = metaCompany.avatarUri;
});
}
So when app starts I got MetaCompany
data via ajax query into home.component.ts
and when I go to /admin
page I don't see method in constructor of left-menu-admin.component.ts
is executed. When I press F5 on /admin
page -> page reloads and method in constructor is executed. What am I doing wrong? And how can I pass some data to another page?