Angular2路由器错误:无法匹配任何路由:''

run*_*ero 6 angular-routing angular

我已经配置了Angular2路由器,如下所示:

import { provideRouter, RouterConfig } from '@angular/router';
import { Page2} from './page2';

const routes: RouterConfig = [
  { path: 'page2', component: Page2 }
];

export const appRouterProviders = [
  provideRouter(routes)
];
Run Code Online (Sandbox Code Playgroud)

Plnkr 在这里可用

在运行代码时,我收到错误:

Error: Cannot match any routes: ''
Run Code Online (Sandbox Code Playgroud)

我在这里错过了什么?

yur*_*zui 2

您应该定义默认路由器,例如''

const routes: RouterConfig = [
  { path: '', component: Home }, 
  { path: 'page2', component: Page2 }
];
Run Code Online (Sandbox Code Playgroud)

或者通过使用重定向:

const routes: RouterConfig = [
  { path: '', redirectTo: '/page2', pathMatch: 'full' }, 
  { path: 'page2', component: Page2 }
];
Run Code Online (Sandbox Code Playgroud)

另请参阅 angular2 文档中的示例