在Angular 6中实施子路线时出错

时间:2018-09-10 09:08:22

标签: angular angular6

在为我的项目实施子路线时遇到错误。我在GitHub和其他站点上找不到任何帮助。

  

ERROR错误:未捕获(承诺):SecurityError:执行失败   “历史记录”上的“ pushState”:具有URL的历史记录状态对象   无法在原始文件中建立「http://%28routes%29/」   'http://localhost:4200'和URL'http://localhost:4200/'。错误:   无法在“历史记录”上执行“ pushState”:历史记录状态对象   网址为“ http://%28routes%29/”的文档无法在以下文档中创建   来源'http://localhost:4200'和URL'http://localhost:4200/'。

2 个答案:

答案 0 :(得分:1)

我有同样的问题,这是由于路由器链接字符串前面缺少斜杠“ /”引起的。更清楚地说,当链接定义为:

时,我遇到了问题

<mat-list-item><a class="mat-h3 menu-link" [routerLink]="['about']">About</a></mat-list-item>

当我将其纠正为:

<mat-list-item><a class="mat-h3 menu-link" [routerLink]="['/about']">About</a></mat-list-item>

答案 1 :(得分:0)

const appRoutes: Routes = [
    { path: '', component: HomeComponent, canActivate: [AuthGuard], 
        children: [
            {path: '', component: CutoffValidationComponent},
            {path: 'CutoffValidation', component: CutoffValidationComponent},
            {path: 'routes', component: RoutesComponent},
            {path: 'cutoffs', component: CutoffsComponent},
            {path: 'piece', component: PiecesComponent},
            {path: 'flights', component: FlightsComponent}

        ]
    },
    { path: 'login', component: LoginComponent },

    // otherwise redirect to home
    { path: '**', redirectTo: '' }
];

export const routing = RouterModule.forRoot(appRoutes, { enableTracing: false });

这是我配置路由的方式。