属性“ contentDocument”在类型“ HTMLElement”上不存在

时间:2019-04-26 20:47:18

标签: angular svg angular7

我正在使用Object元素加载svg文件,并且从ts文件中尝试读取和修改svg(例如动态着色并创建一些svg元素并追加到现有的svg),但是遇到了以下错误: 属性“ contentDocument”在类型“ HTMLElement”上不存在

am使用Angular 7

在app.component.html

 <object id="svg1" data="assets/10026_019.svg" type="image/svg+xml" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"></object>

在app.component.ts

let obj=document.getElementById('svg1');
    let svg2=obj.contentDocument.querySelector("svg");
 let pt = svg2.createSVGPoint();

实际上,它在“ contentDocument”上显示错误(红线),但是当我运行应用程序时,即使有错误,它也能正常工作。 但是,当我进行构建时,会出现问题。

不确定如何成功纠正此错误

1 个答案:

答案 0 :(得分:0)

我通过更新以下内容解决了自己的问题。我已经明确提到对象类型为“ any”。

let obj: any =document.getElementById('svg1');
    let svg2: any =obj.contentDocument.querySelector("svg");
 let pt = svg2.createSVGPoint();