在打字稿方法中,代码
some_existing_div.prepend(some_new_div)
产生:
[ts] Property 'prepend' does not exist on type 'HTMLDivElement'.
,当然,按照https://developer.mozilla.org/en-US/docs/Web/API/ParentNode/prepend可以。
tsconfig具有
"lib": [ "es7", "es2017", "dom", "dom.iterable" ],
,我想我需要添加一些内容。但是呢
更一般而言,下次我遇到类似的问题时,如何在不来到这里的情况下解决它?是否有一些新功能映射到打字稿库?还是什么?
答案 0 :(得分:1)
,我想我需要添加一些内容。但是呢?
否,您无需添加任何内容。 dom
库为supposed to contain all types that are part of the official DOM specifications。但是,新类型会有延迟,因为正式的dom
库是根据Microsoft Edge生成的文件生成的,而这些文件并不总是立即实现新规范,而且TypeScript不会每次都发布新版本是对lib的更新。
关于您的特定问题,dom
库now includes the ParentNode.prepend
method(在TypeScript
存储库的主分支上),但更新的库不是尚未发布作为版本的一部分。
更一般地说,下次我遇到类似的问题时,如何在不来这里的情况下解决该问题?
typescript
软件包更新为最新版本。dom.generated.d.ts
file(您也可以build yourself)是否包含要查找的类型。如果确实如此,则可以预期该类型将作为接下来的几个TypeScript版本之一的一部分发布。.d.ts
文件(仅适用于全新类型),也可以将您正在使用的对象转换为any
。您的情况就是(some_existing_div as any).prepend(some_new_div)
。