如何导航到angular2默认路由
How to navigate to angular2 default route
我已使用 useAsDefault: true
将一条路线声明为默认路线。我现在想在没有名称的情况下使用此路由(它用于可重用组件)。示例:
<a [routerLink]="['/']">Go to default route</a>
或
this.router.navigate(['/']);
这可能吗?我快速查看了路由器源,但甚至找不到查询默认路由的方法。
答案是:不,目前不可能。
但如果你真的需要,可以这样破解:
export class AppComponent {
constructor(_route:RouteRegistry) {
setTimeout(() => {
// it will print default route's name
console.log(this._capitalize(_route._rules.values().next().value.defaultRule.hash))},
500);
}
private _capitalize(str:string){
if (!str) return "";
return str[0].toUpperCase() + str.slice(1, str.length);
}
}
我已使用 useAsDefault: true
将一条路线声明为默认路线。我现在想在没有名称的情况下使用此路由(它用于可重用组件)。示例:
<a [routerLink]="['/']">Go to default route</a>
或
this.router.navigate(['/']);
这可能吗?我快速查看了路由器源,但甚至找不到查询默认路由的方法。
答案是:不,目前不可能。
但如果你真的需要,可以这样破解:
export class AppComponent {
constructor(_route:RouteRegistry) {
setTimeout(() => {
// it will print default route's name
console.log(this._capitalize(_route._rules.values().next().value.defaultRule.hash))},
500);
}
private _capitalize(str:string){
if (!str) return "";
return str[0].toUpperCase() + str.slice(1, str.length);
}
}