Error: Uncaught (in promise): Error: Cannot match any routes Angular 2
I think that your mistake is in that your route should be product
instead of /product
.
So more something like
children: [ { path: '', component: AboutHomeComponent }, { path: 'product', component: AboutItemComponent } ]
For me it worked like the code below. I made a difference between RouterModule.forRoot
and RouterModule.forChild
. Then in the child define the parent path and in the children array the childs.
parent-routing.module.ts
RouterModule.forRoot([ { path: 'parent', //parent path, define the component that you imported earlier.. component: ParentComponent, }]),RouterModule.forChild([ { path: 'parent', //parent path children: [ { path: '', redirectTo: '/parent/childs', //full child path pathMatch: 'full' }, { path: 'childs', component: ParentChildsComponent, }, ] }])
Hope this helps.
I am using angular 4 and faced the same issue apply, all possible solution but finally, this solve my problem
export class AppRoutingModule {constructor(private router: Router) { this.router.errorHandler = (error: any) => { this.router.navigate(['404']); // or redirect to default route } }}
Hope this will help you.