如何解决打字稿中“元素”类型错误时不存在的属性?

时间:2020-04-07 14:04:35

标签: javascript typescript

运行构建时出现错误。它说

TS2339:类型“元素”上不存在属性“ body”。

代码看起来像:

const testCode = document.createElementNS('http://example.com/x/x', 'testtestCode');
testCode.body = widgetBody; 

试图在const之后添加'as Element'或instanceof,但这不起作用。有什么建议吗?

1 个答案:

答案 0 :(得分:1)

在注释中获得更多信息之后,您显然很想在自定义元素上使用自定义属性。您可以这样做:

interface MyCustomElement {
    body: string;
    model: string;
}

const testCode = document.createElementNS('http://example.com/x/x', 'testtestCode')
                 as Element & MyCustomElement;
testCode.body = widgetBody; 

将变量铸造为Element&MyCustomElement将使您可以访问Element类型的常规属性,同时还可以访问自定义属性。