在下面的路由路由中,我在尝试抓取http://localhost:4200/
时收到以下错误错误错误:未捕获(承诺):错误:无法重定向到' /:userCountry /:userLanguage / home'。找不到':userCountry'。 错误:无法重定向到' /:userCountry /:userLanguage / home'。找不到':userCountry'。 在ApplyRedirects.webpackJsonp ... / .. / .. / router / @ angular / boot.es5.js.ApplyRedirects.findPosParam(router.es5.js:1784)
每个其他路由路径都在工作,它只是redirectTo似乎没有替换变量userCountry(以及userLanguage)的值。
非常感谢任何帮助。
const appRoutes: Routes = [
{ path: '', redirectTo: '/:userCountry/:userLanguage/home', pathMatch: 'full' },
{ path: ':userCountry/:userLanguage/home', component: HomeComponent },
{ path: ':userCountry/:userLanguage/about', loadChildren: './about/about.module#AboutModule' },
{ path: ':userCountry/:userLanguage/terms', loadChildren: './terms/terms.module#TermsModule' },
{ path: ':userCountry/:userLanguage/privacy', loadChildren: './privacy/privacy.module#PrivacyModule' },
{ path: '**', component: PageNotFoundComponent }
];
当错误附加时,我的变量已经有了值。
以下是我的console.log()
的摘录[AppRoutingModule.constructor]this.userLanguage=fr
[AppRoutingModule.constructor]this.userCountry=ca
...
ERROR Error: Uncaught (in promise): Error: Cannot redirect to '/:userCountry/:userLanguage/home'. Cannot find ':userCountry'
答案 0 :(得分:1)
当message
路径中的路由匹配时,您需要将默认值传递给userCountry
和userLanguage
。你可以这样做
''