如何导航到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);
  }
}