Angular无法匹配任何路线

时间:2018-07-14 21:03:28

标签: angular error-handling routing routes

我正在尝试了解Routing在Angular上的工作方式。 所以这是我的标题,我想转到其他页面。 my simple header

app.routing.ts:

export const appRoutes: Routes = [
    { path: '', component: HomeComponent },
    { path: 'auth', component: AuthComponent },
    { path: 'about', component: AboutComponent }
]

export const ROUTING: ModuleWithProviders = RouterModule.forRoot(appRoutes);

app.module.ts

@NgModule({
  declarations: [
   ...
  ],
  imports: [
    ...
    ROUTING
  ],
  ...
})
export class AppModule { }

app.component.html

 <router-outlet></router-outlet>

home.component.html

 <router-outlet></router-outlet>

首页<->身份验证正常

首页<->关于还可以

但是auth <->关于不起作用

我收到此类错误:

  

错误:无法匹配任何路由。网址段:“关于/身份验证”

我们可以看到url是关于auth enter code here的/ auth身份的

1 个答案:

答案 0 :(得分:2)

似乎您在routerLink指令中使用了相对指定的相对路径,该路径最终最终将提到的路由附加到当前路由,这就是为什么在about/auth上将about到{{ 1}}重定向。要解决此问题,请使用如下所示的绝对路由。

auth

原因是,当您在[routerLink]="'/auth'"` [routerLink]="'/about'"` 指令中没有提到/的路由时,它将最终将路由自relative routing后附加到routerLink。确保导航到特定路线时应使用绝对路线(在路线之前添加currentRoute)。

相关问题