ユーザーがページに到着した方法に応じて複数のルート名を使用できますが、同じRouteConfigパスを維持できますか?Angular 2の同じページの複数のルート名
例えば
@RouteConfig([
{
path: 'sweet/:id',
name: 'SweetDetailLandingPage',
component: SweetDetailComponent,
data: { fromLink: false, fromDeepLink: true }
},
{
path: 'sweet/:id',
name: 'SweetDetailFromLink',
component: SweetDetailComponent,
data: { fromLink: true, fromDeepLink: false }
}
])
ユーザーがブラウザにURLを入力した場合、私はアプリがSweetDetailLandingPage
をロードしたいです。ユーザーが内部でnavigate(['SweetDetailFromLink'])
経由でページに到着した場合は、SweetDetailFromLink
をロードします。
理由は、ユーザーがディープリンク経由で到着したかどうかを判断し、ロード時に特定の関数を呼び出すことができるためです。
私はこのコードを試しましたが、アプリケーションが競合が発生しているというエラーを投げます。
ORIGINAL EXCEPTION: Configuration 'sweet/:id' conflicts with existing route 'sweet/:id'
私は矛盾がある理由を理解しています。私は上に説明したものを実装する方法があるかどうか疑問に思っています。
は、あなたのコントローラでこれをチェックすることはできません代わりに(ユーザーがページにどのようにアクセスしたか) – Arg0n