我正在使用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”上显示错误(红线),但是当我运行应用程序时,即使有错误,它也能正常工作。 但是,当我进行构建时,会出现问题。
不确定如何成功纠正此错误
答案 0 :(得分:0)
我通过更新以下内容解决了自己的问题。我已经明确提到对象类型为“ any”。
let obj: any =document.getElementById('svg1');
let svg2: any =obj.contentDocument.querySelector("svg");
let pt = svg2.createSVGPoint();