2017-07-29 133 views
1

我得到角度路由错误Angular 2不能匹配路由错误

未捕获(承诺):错误:无法匹配任何路由。网址细分:'null' 错误:无法匹配任何路线。 URL段:“null'at ApplyRedirects.webpackJsonp .../../../router/@angular/router.es5.js.ApplyRedirects.noMatchError

下面是我的路线对象:

export const ROUTES: Routes = [ 
    { path: '', component: TrendsComponent}, 
    { path: 'trends', component: TrendsComponent } 
]; 

我正在使用@ angular/router 4.0.0

回答

1

尝试按以下方式设置路由,使用redirectTo在启动时将用户路由到路径“/ trends”。

确保您将RouterModule导入到您的NgModule中。对于根模块或类似的模块,您可以使用RouterModule.forRoot(ROUTES)以及使用RouterModule.forChild(ROUTES)的功能模块。请务必在根目录和任何功能模块中包含<router-outlet></router-outlet>

const ROUTES: Routes = [ 
    { path: 'trends', component: TrendsComponent }, 
    { path: '', redirectTo: '/trends', pathMatch: 'full' } 
]; 

@Component({ 
    selector: 'my-app', 
    template: ` 
    <div> 
     <h2>Hello World</h2> 
     <p>Redirect to path /trends component is occurring on startup</p> 
     <router-outlet></router-outlet> 
    </div> 
    `, 
}) 
export class App {} 

@NgModule({ 
    imports: [ BrowserModule, RouterModule.forRoot(ROUTES) ], 
    declarations: [ App, TrendsComponent ], 
    bootstrap: [ App ] 
}) 
export class AppModule {} 

这是一个plunker演示的功能。

更新:plunker已更新为显示声明和导入子路由和模块(非延迟加载)。

希望有帮助。