我試圖用參數實現基本路由,模仿英雄示例(https://angular.io/docs/ts/latest/guide/router.html)。我的AppModule聲明的路徑:Angular 2路由行爲不如預期
const appRoutes: Routes = [
{ path: '', component: AllStuffComponent },
{ path: 'stuff/:id', component: SingleStuffComponent },
];
我SingleStuffComponent如下所示,只是爲了測試出來的力學:
export class SingleGuiComponent implements OnInit {
constructor(
private route: ActivatedRoute,
private router: Router,
) {}
ngOnInit() {
this.route.params
.switchMap((params: Params) => params['id'])
.subscribe((id: any) => console.info("ID=" + id));
}
}
我試圖在http://localhost:3000/stuff/2345
瀏覽器做了URL。但在調試器中,我看到:
ID=2
ID=3
ID=4
ID=5
這是爲什麼發生?我預計只有單一控制檯日誌ID=2345
。
你有沒有嘗試刪除'switchMap'功能,並獲得了'PARAMS [ '身份證']在'subscribe'函數裏面? 我懷疑'switchMap'將字符串分割爲單個字符 –