特定のコンポーネントのURLの末尾に後続のスラッシュを追加する方法はありますか? (私のクライアントではそれが必要なので、コメントを追加する必要はありません。末尾にスラッシュは使用しないでください)。角2のURLパラメータ
ありがとうございます。
特定のコンポーネントのURLの末尾に後続のスラッシュを追加する方法はありますか? (私のクライアントではそれが必要なので、コメントを追加する必要はありません。末尾にスラッシュは使用しないでください)。角2のURLパラメータ
ありがとうございます。
ルートを後続のスラッシュで定義し、スラッシュでURLに移動するようにして、目的の結果を得ることができます。ルーターは後続のスラッシュのために予想していたレベルよりも深いレベルになるため、おそらくいくつかの頭痛が発生します。
ルート{
path: 'a/',
component: AComponent
},
{
path: 'list/b/',
component: BComponent,
}
あなたは、ルータが定義されたルートの後に空の文字列のパスを追加することによって、末尾にスラッシュを追加するために取得することができます。自分でスラッシュを書く場合は、[routerLink]="['/a/']"
のように角を取り除きます。
<p><a [routerLink]="['/a', '']">Component A</a></p>
または
<p><a [routerLink]="['../a', '']">Component A</a></p>
プログラムによる移動
this.router.navigate(['/a', '']);
カスタムUrlSerializer
を実装しようとすることができます。次に、あなたのNgModule
にそれを提供
import { DefaultUrlSerializer, UrlTree } from '@angular/router';
export class CustomUrlSerializer extends DefaultUrlSerializer {
parse(url: string): UrlTree {
return super.parse(url);
}
serialize(tree: UrlTree): string {
let url = super.serialize(tree);
url = url.length > 1 ? url += '/' : url;
return url;
}
}
:
@NgModule({
declarations: [
...
],
imports: [
...
],
providers: [...
{provide: UrlSerializer, useClass: CustomUrlSerializer}
],
bootstrap: [...]
})
export class AppModule { }
私はあなたがカスタムhttps://angular.io/docs/ts/latest/api/routerを必要と推測することは、このような何かを見ることができます/index/DefaultUrlSerializer-class.html –