私はウェブアプリケーションを持っています。右側のバーには 3 つの投稿があります。投稿をクリックすると、ナビゲーションがあります:
this.router.navigate(['../post', this.post.id]);
ポストプロファイルコンポーネントが引き継ぎます。このコンポーネントには、指定された ID を持つ投稿を取得するサービスから関数を呼び出す関数があります。これで、その投稿のすべての詳細がコンテンツ エリア (画面の左側) に表示されます。この関数 (私の投稿を取得する) は、Post Profile コンポーネントの ngOnInit でのみ呼び出されます。
右側のサイド バーから別の投稿をクリックすると、URL の変更が表示されますが、投稿を取得する関数は呼び出されず、コンテンツ エリアの投稿の詳細は変更されません。ページを更新すると、必要な投稿が表示され、すべてうまくいきます。
それが役立つ場合は、関数に .subscribe があります。
問題がわかりません。
これは私の PostProfileComponent です
constructor(postsService: PostsService, route: ActivatedRoute ) {
this.postsService = postsService;
this.routeSubscription = route.params
.subscribe((params: any) => {
this.postId = params['id'];
});
}
public getPostById(id: any): void {
this.postsService.getPostById(id)
.map((response: Post) => {
this.post = response;
console.log(this.post);
})
.catch((error: any) => {
return error;
})
.subscribe();
}
ngOnInit(): void {
this.getPostById(this.postId);
}