在配置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)
这给我一个错误:
src / app / app-routing.module.ts(24,32)中的错误:错误TS2345:类型'{onSameUrlNavigation:string; }”不能分配给“ ExtraOptions”类型的参数。属性“ onSameUrlNavigation”的类型不兼容。类型'string'不能分配给类型'“ reload” | “忽略””。
我尝试将对象的类型声明为:
const options: ExtraOptions = {
onSameUrlNavigation: 'reload'
}
但是我得到了错误:
找不到名称'ExtraOptions'。
有人知道是否可以创建ExtraOptions对象来配置路由器吗?
感谢您的快速解答,并在示例中发布了@jitender我忘了从@ angular / router导入ExtraOptions
import { Routes, RouterModule, ExtraOptions } from '@angular/router';
您的代码似乎运行正常here,请确保您已从extraOptions
导入了@angular/router
import { Routes, RouterModule, ExtraOptions } from '@angular/router';