ルーターからのrouterLink
いくつかに基づいてを表示/非表示にしたい。Data
ディレクティブは完了しましたが、最も重要な部分が欠けています...
たとえば、次のルーター構成があります (コンポーネントは省略されています)。
[
{ path: '', children: [
{ path: 'foo', children: [
{ path: 'bar', data: { requiredPermissions: ['a', 'b'] } }
]}
]},
{ path: 'baz', data: { requiredPermissions: ['c'] }, children: [
{ path: ':id' }
]}
]
がまたはの場合に使用されるRouter
をに尋ねたいと思います。Route
routerLink
/foo/bar
/baz/123
Router
ソース コード ( https://github.com/angular/angular/blob/master/modules/%40angular/router/src/router.ts )を調べましたが、これを行う簡単な方法が見つかりませんでした。特に、これらの:id
変数をどのように処理するか。
もちろん、 を反復してRouter.config
、さらに深くすることもできます。しかし、その後、それらの変数、正規表現などを解析する必要があります。Angular ルーターも内部でこれらすべてを行う必要があるため、もっと簡単な方法があるはずです。
アイデア/解決策はありますか?