Angular 2 ルーティングでエラーが発生しました。(angular/router2.0.0-rc1 を使用)
ルートは次のようになります。
tabs/editItem (For creating a new item)
tabs/id/editItem (For editing an item)
tabs/id/itemStuff
tabs/id/differentStuff
タブ コンポーネントでは、ID が指定されていない場合は itemStuff および differentStuff オプションを無効にする必要がありますが、ID がある場合は有効にします。
テンプレートの ID に NgIf を使用しました。
routerOnActivate(curr: RouteSegment) {
if(curr.getParam('pId') == null)
return;
this.pId = +curr.getParam('pId');
}
問題は、「routerOnActivate」がルート エンドポイントでのみ呼び出されるため、タブ ページからルート パラメータにアクセスできないことです。子要素にチェックをさせてから、タブコンポーネントが更新されるようにイベントを送り返すというオプションがあるようですが、それは見苦しく、これを行う正しい方法ではありません。
どんな助けでも大歓迎です!
TLDR: 親コンポーネントがパラメーターにアクセスして処理する方法