Typescript Error: Property 'append' does not exist on type 'HTMLElement'
Typescript Error: Property 'append' does not exist on type 'HTMLElement'
问题:
我在尝试将已编译的 angular 1.5 模板附加到现有 HTMLElement
.
时收到 Typescript 2.2.1 编译错误
代码:
$document.find(scope.target)[0].append($compile(menu)(scope)[0]);
编译错误:
[ts] Property 'append' does not exist on type 'HTMLElement'
我搜索了类型定义,但没有看到 append()
的签名。
关于我应该使用哪种类型或版本的打字稿有什么想法吗?
谢谢!
这里与TypeScript无关。
正确的调用方法是appendChild
:
https://developer.mozilla.org/en/docs/Web/API/Node/appendChild
append
是一种 jQuery 方法,如果你想使用它,你可以这样做:
$document.find(scope.target).append($compile(menu)(scope)[0]);
它也应该有效。
希望对你有帮助
HTMLElement 上有一个 append/prepend 函数。问题是currently still experimental。
为了在不从 TypeScript 中获取错误的情况下使用它,我将它用作任何 ¯\_(ツ)_/¯
(<any>myElement).append(otherElement)
Element.append() 现在存在(自 2016 年起)。如果 TypeScript 发现错误:
- 类型:确保它是
Element
而不仅仅是 Node
- 配置:确保您正在加载 DOM 库
- 配置:确保您使用的是最新的 ES target/lib
示例配置:
{
"compilerOptions": {
"target": "es2020",
"lib": ["dom", "es2019", "es2020", "dom.iterable"]
}
}
问题:
我在尝试将已编译的 angular 1.5 模板附加到现有 HTMLElement
.
代码:
$document.find(scope.target)[0].append($compile(menu)(scope)[0]);
编译错误:
[ts] Property 'append' does not exist on type 'HTMLElement'
我搜索了类型定义,但没有看到 append()
的签名。
关于我应该使用哪种类型或版本的打字稿有什么想法吗?
谢谢!
这里与TypeScript无关。
正确的调用方法是appendChild
:
https://developer.mozilla.org/en/docs/Web/API/Node/appendChild
append
是一种 jQuery 方法,如果你想使用它,你可以这样做:
$document.find(scope.target).append($compile(menu)(scope)[0]);
它也应该有效。
希望对你有帮助
HTMLElement 上有一个 append/prepend 函数。问题是currently still experimental。
为了在不从 TypeScript 中获取错误的情况下使用它,我将它用作任何 ¯\_(ツ)_/¯
(<any>myElement).append(otherElement)
Element.append() 现在存在(自 2016 年起)。如果 TypeScript 发现错误:
- 类型:确保它是
Element
而不仅仅是Node
- 配置:确保您正在加载 DOM 库
- 配置:确保您使用的是最新的 ES target/lib
示例配置:
{
"compilerOptions": {
"target": "es2020",
"lib": ["dom", "es2019", "es2020", "dom.iterable"]
}
}