0
假設我轉到組件的URL爲localhost:4200/myComponent/id。無論ID是什麼,它在組件視圖中都顯示爲一個字符串。檢查角路由參數ID失敗,爲空或未定義的字符串
此代碼需要從先前的組件的ID參數([routerLink] = 「[ '/ myComponent的',ID]」),並提取值內部使用這種方式:
myComponent.ts
getURLId(): void {
this.route.params
.map(
params => params['id'])
.subscribe(
((id) => this.assignID(id)),
err => {
this.successData = false;
this.errorMessage = err
});
}
將「id」的這個值與NULL和UNDEFINED進行比較,目標自己處理錯誤。當訪問本地主機:4200/myComponent的/故意留下ID留空,我的代碼應該知道,route.params是否有「身份證」未定義的值,並停止:
assignID(id: string): void {
// THIS COMPARISON IS NOT CATCHING THE SCENARIO MENTIONED ABOVE
if(id === null || id === undefined) {
// DECLARE ERROR AND RAISE FLAG
} else {
// DO THINGS WITH "id" HERE...
}
}
的問題是,本地主機:4200/mycomponent/不會爲比較產生正確的結果(id === null或undefined)。
「id」值輸出的Console.log undefined應該如此。
什麼給?
路由怎麼樣?我認爲用空ID角路線甚至不應該選擇此路線與ID。 –