javascript - 插入新的接口方法命名空间 Typescript
问题描述
我正在使用具有命名空间的第三方库,thisLibrary
并且在该命名空间内有一个 interface Options
。我想向Options
界面添加一个属性,然后Options
在我的代码中使用更新版本。该index.d.ts
库的文件如下所示:
export = thisLibrary;
export as namespace thisLibrary;
declare function thisLibrary(elements: HTMLElement | HTMLElement[], options: thisLibrary.Options): void;
declare namespace thisLibrary {
const propA: boolean;
let propB: number;
interface Options{
list?: ListEntry[] | any[];
propC?: string;
propD?: string | number;
}
}
我希望能够导入thisLibrary
到我的代码中,然后添加输入以便propE?: boolean
我可以传递propE
到我的函数调用中thisLibrary
而不是引发错误。
我在 Angular 框架内工作,我的代码如下所示:
import * as thisLibrary from 'thisLibrary';
export class MyComponent implements OnInit {
constructor() {}
ngOnInit(): void {
this.doThis()
}
private doThis(): void {
const myHTML = this.getHTML()
thisLibrary(myHTML, {
list: [[a, 10], [b, 7]],
propC: 'blah blah',
propD: 10,
propE: true
}
}
目前,此代码在我的 TS linter 中引发错误,因为propE
“类型选项中不存在”。
解决方案
推荐阅读
- java - 如何在 Java 中将十六进制转换为 utf-8 编码的字符串
- c# - Visual Studio C#:将 IntelliTest 的输入和输出捕获或导出到单独的文件中?
- typescript - 是否可以通过泛型名称引用类型?
- r - tidymodels工作流程中的`Augment()`ing`coxph()`输出?
- shopify - 从 Shopify 中的 ID 获取博客名称
- javascript - 在机器人框架中拖放
- javascript - Javascript date.toLocaleString() 为 EST 产生不正确的结果
- html - 在 div 集合上舍入边界?
- r - 闪亮应用程序中的 htmloutput 显示 html,但从应用程序移开并完全重定向到该 html
- ruby-on-rails - 如何在 Rails 中的关联上急切加载关联?