シンプルなangular 2アプリシードがあります。シンプルなブートストラップ。
bootstrap(App, [
ROUTER_PROVIDERS,
provide(LocationStrategy, {useClass: HashLocationStrategy})
]);
アプリはいくつかのルートを設定します。
@RouteConfig([
{path: '/', component: Home, as: 'Home'},
{path: '/login', component: Login, as: 'Login'}
])
ここには派手なものはありません。私が行っていることの 1 つは OAuth2 ログインです。これは、アプリからリダイレクトしてから戻ってきます。そのため、私がやりたかったのは、ロード時にクエリ パラメータを渡すことでした。http://localhost/#?token=123
私が取得し続けるエラーに基づいて、これのようなもの: Angular 2 で URLSearchParams を利用する方法RouteParams
ルーターによって作成されていないため、App のコンストラクターに注入することはできないようです。
では、ロード時にクエリ パラメータを取得するにはどうすればよいでしょうか。router-outlet
ルーターを介してフローできるようにするためだけに、Appに空のコンポーネント(AppRootなど)を作成させる必要がありますか? それは多くの不必要なオーバーヘッドのようです..誰かがより良い方法を知っていますか?