当我把我的项目从Angular 11升级到Angular 14后,我在" ng server "上遇到了以下错误:
Error: src/app/app-routing.module.ts:107:7 - error TS2322: Type '"enabled"' is not assignable to type 'InitialNavigation | undefined'.
107 initialNavigation: 'enabled',
app-routing.module中相关代码部分。
@NgModule({
imports: [
RouterModule.forRoot(routes, {
initialNavigation: 'enabled',
}),
],
exports: [RouterModule],
})
该项目在Angular 11上运行良好。我如何解决角14的这个问题?
在Angular 14版中,'enabled'不再是一个选项。
根据官方文档链接
这些是现在的选项:
-
'enabledNonBlocking' -(默认)初始导航开始后已创建根组件。引导没有被阻塞完成初始导航。
-
'enabledBlocking' -在创建根
组件之前开始初始导航。引导被阻塞,直到初始
导航完成。此值是服务器端
呈现工作所必需的。 -
'disabled' -不执行初始导航。location
侦听器是在创建根组件之前设置的。由于一些复杂的初始化逻辑,使用if
有理由对路由器何时开始
初始化导航有更多的控制。
. .你只需要修改
initialNavigation: 'enabled',
initialNavigation: 'enabledNonBlocking',
或
initialNavigation: 'enabledBlocking',
根据您的需要。