ルートパラメータをnullとして取得できません。私はangular7を使用しています。以下のコードを見つけてください
HeaderComponent tsファイル
import {Router, ActivatedRoute} from '@angular/router';
constructor(private httpService: HttpClient, private router: Router, private activatedRoute: ActivatedRoute) {
this.getNewsSelectedFromRouteParam();
}
getNewsSelectedFromRouteParam() {
alert();
let id = this.activatedRoute.snapshot.paramMap.get('typeId');
alert(id);
}
getNewsByCountry(newsTypeSelected: any) {
this.router.navigate(['/news',newsTypeSelected]);
this.getNewsSelectedFromRouteParam();
}
ヘッダーhtml
<div class=" dropdown-toggle" data-toggle="dropdown">
XXX
</div>
<div class="dropdown-menu">
<div *ngFor="let cr of country" class="dropdown-item"
(click)="getNewsByCountry(cr.value)" >{{cr.name}}</div>
</div>
アプリルーティングtsファイル
const routes: Routes = [
{ path: 'news/:typeId', component: XxxComponent },
{ path: '**', component: XxxComponent }
];
「XxxComponent」から呼び出す必要がある「HeaderComponentts」でそのパラメータを取得しようとしています。 XxxComponenttsファイルにそのルートパラメータコードを追加して、期待どおりに機能するようになりました。ルートパラメータを取得できます。
あなたも試すことができます
let id = this.activatedRoute.snapshot.queryParams.id
すべてのルートで共有されるクエリパラメータを取得するには
(クリック)でgetNewsByCountryを呼び出します。おそらく、cr.valueはnullですが、cr.valueとは何ですか? IDですか?