使用vue3+ts开发项目,想要在window
下面绑定utils
对象,里面都是公共方法,因为ts限制要在.d.ts
中对window
定义接口,这里就遇到问题了,现在我的utils
里面只有一个getBreadPath
方法,那如果每次我添加方法进去,岂不是每次都要去修改interface Utils
?这样感觉很麻烦啊!
或者用这种形式可以代替全部么?[propName: string]
.d.ts声明
// common.d.ts
interface Utils {
getBreadPath: (activeMenu: string) => string,
}
declare interface Window {
utils: Utils
}
这种通常不需要声明吧,直接
然后调用的时候
这样就可以了。TS可以自动推断类型检查的,不是必须声明。