2016-04-18 11 views
3

ルートの設定パスパラメータ

@RouteConfig([ 
    new Route({ path: '/app/index.html', name: 'default', redirectTo: ['/View1] }), 
    new Route({ path: '/view1/:param1/:param2/', name: 'View1', component: View1Component }) 
]) 

param1考えると、param2がそのように

私は、これらのパラメータを渡すことについては行くだろうか
http://legacy.com/app/index.html?param1=10&param2=15 

のようなクエリパラメータとして渡されていますredirectToを超えてしまいました。

http://legacy.com/app/#/view1/10/15 

これはまず可能ですか?

+0

私はangleがこれを機能として追加しなければならないと思っています。すべての完全なリダイレクトは、自動的に前方パラメータとクエリパラメータを持ちます...それはサーバでも同様です – Ayyash

答えて

1

これは私がAngular2スタイルと互換性を持たせるためにパスを少し名を変更

@RouteConfig([ 
    new Route({ path: '/app', name: 'Default', redirectTo: ['/View1, {param1: 10, param2: 15}] }), 
    new Route({ path: '/view1/:param1/:param2', name: 'View1', component: View1Component }) 
]) 

動作するはずです。 /app/が実際にindex.htmlの前に来る場合は、設定に問題があります。他にもAngular 2 router no base href set

+0

ええ、私は気付きました。しかし、 'param1'と' param2'は固定されていません。ただの問題です。それらがコンポーネントに渡された場合、それらを 'routeParams'から取得できますが、ルート設定内にランタイム値を取得する方法はありません。 –

+1

いいえ、あなたができることは、ヘルパーコンポーネントにリダイレクトして、即時にリダイレクトしてランタイム値を渡すことです。 'コンストラクタ(ルータ:ルータ){router.navigateXxx(...); } '。実際には 'redirectTo:'を 'component:SomeHelperComponent'に変更し、このコンポーネントではあなたは必須のリダイレクトを行います。 –

関連する問題