2016-04-13 13 views
4

最新のAngular2バージョン(2.0.0-beta.14)以降、/ foo/barのように複数のスラッシュを含むクエリパラメータを使用できます。Angular2 RouterLinkは、スラッシュを%2Fに置き換えてルートを分割します。

RouterLinkリンク内に複数のスラッシュが付いたパラメータを使用すると、/%2Fでエスケープされ、リロード時にルートが機能しなくなります。

私のリンクは次のようになります。私もURIDecode「スラグ」パイプの内部<a [routerLink]="['/Page', {page: page.url | slug}]" class="list-group-item">{{ page.title }}</a>

文字列、と私はそれを記録するとき、それは正しいです。それは/pages/level-1/のようなものですが、実際にaタグを調べると、ページにはhref="/pages%2Flevel-1"と表示されます。

私はHTMLテンプレート内に{{ page.url | slug }}の値を印刷しても、スラッシュでURLを返します。

+1

私は可能であれば、あなたが問題を示していPlunkerとhttp://github.com/angularにバグレポートを作成する必要がありますね。 –

+0

ありがとう、私は明日新しい問題を作成します。 –

答えて

3

私は、GithubのAngular2 Issuesページのおかげで解決策を見つけました(Günterに感謝します)。

私のルートは、このように構成されました:({ path: "/:page", component: Page, name: "Page" }),代わり({ path: "/*page", component: Page, name: "Page" }),差はpageの前で*ワイルドカードであったはず。

これは、私が作成した問題である: https://github.com/angular/angular/issues/8049

+1

Simon Green(CaptainCodeman)は、常に素晴らしい知識の源です! –

関連する問題