1. ホーム
  2. ジャバスクリプト

[解決済み】Angular 2のオプションルートパラメーター

2022-04-04 18:20:39

質問

Angular 2のルートでオプションのルートパラメータを持つことは可能でしょうか?RouteConfigでAngular1.xの構文で試してみましたが、以下のエラーが出ました。

"ORIGINAL EXCEPTION: パス "/user/:id?" に "?" が含まれていますが、これはルート設定で許可されていません。

@RouteConfig([
{
    path: '/user/:id?',
    component: User,
    as: 'User'
}])

解決方法は?

パラメータの有無にかかわらず、複数のルートを定義することができます。

@RouteConfig([
    { path: '/user/:id', component: User, name: 'User' },
    { path: '/user', component: User, name: 'Usernew' }
])

を作成し、コンポーネント内でオプションのパラメータを処理します。

constructor(params: RouteParams) {
    var paramId = params.get("id");

    if (paramId) {
        ...
    }
}

関連するgithubの課題もご覧ください。 https://github.com/angular/angular/issues/3525