Angular 路由 ExtraOptions 对象

Angular Route ExtraOptions object

在配置我的 Angular(ng 版本 8.2.2)路由模块时,我想创建一个对象来处理所有配置。配置对象作为 forRoot() 函数的第二个参数进入,并且需要是 ExtraOptions (https://angular.io/api/router/ExtraOptions)

类型

如果我在线创建对象,它会起作用:

RouterModule.forRoot(routes,{ onSameUrlNavigation: 'reload' })

但不作为预定义对象。

const options = { onSameUrlNavigation: 'reload' }

RouterModule.forRoot(routes,options)

这给我一个错误:

ERROR in src/app/app-routing.module.ts(24,32): error TS2345: Argument of type '{ onSameUrlNavigation: string; }' is not assignable to parameter of type 'ExtraOptions'. Types of property 'onSameUrlNavigation' are incompatible. Type 'string' is not assignable to type '"reload" | "ignore"'.

我尝试将对象类型声明为:

const options: ExtraOptions = {
    onSameUrlNavigation: 'reload'
}

但是我得到错误:

Cannot find name 'ExtraOptions'.

有谁知道是否可以创建一个 ExtraOptions 对象来配置路由器?

感谢您的快速回答和发布示例@jitender 我忘了从 @angular/router

导入 ExtraOptions
import { Routes, RouterModule, ExtraOptions } from '@angular/router';

您的代码似乎运行良好here确保您已从 @angular/router

导入 extraOptions
import { Routes, RouterModule, ExtraOptions } from '@angular/router';