Angular初心者です。
公式チュートリアルを参考に簡易的な掲示板を作りながら勉強しているのですが
どうしてもわからないので教えてください。
掲示板の親記事を開くと親記事専用のページに遷移する簡単な仕組みを作りたいです。
親記事には公式チュートリアルのようにIDが割り振られており、そのIDを元に
「http://localhost:4200/bbs/${id}」のようにアクセスするとそのIDを持つ親記事は問題なく表示されます。
しかし、これをIDではなく以下のデータで言うとこのhashIDを使ってページ遷移させるとうまく動きません。
理想のURL「http://localhost:4200/bbs/${hashID}」。
URL自体は問題なくhashIDに飛んでるようなんですが、その後のthis.http.getがうまくいかず
何もブラウザに表示されません。
hashIDから値をとるためにはどのようにすればよいでしょうか?
■ DB(in-memory-data.service)
{ id: 1, hashID: '000000A', title: 'これはA' } { id: 2, hashID: '000000B', title: 'これはB' } { id: 3, hashID: '000000C', title: 'これはC' }
■ bbs.html
<a routerLink="/bbs/{{bbs.hashID}}"></a>
■ app-routing.module.ts
{ path: 'bbs/:hashID', component: BbsDetailComponent },
■ bbs-Detail.Component.ts
getbbs(): void { var hashID = this.route.snapshot.paramMap.get('hashID'); this.bbsService.getbbshashID(hashID).subscribe(i => this.bbs = i); } ngOnInit(): void { this.getbbs(); }
■ bbs-Detail.Component.html
<div *ngIf="bbs"> <div>{{bbs.id}}</div> <div>{{bbs.hashID}}</div> <div>{{bbs.title}}</div> </div>
■ bbs.service.ts
getbbshashID(hashID: string): Observable<bbs> { const url = `${this.bbsUrl}/${hashID}`; return this.http.get<bbs>(url); }
あなたの回答
tips
プレビュー