Свойство 'contentDocument' не существует для типа 'HTMLElement' - PullRequest
0 голосов
/ 26 апреля 2019

Я загружаю svg-файл, используя элемент Object, и из ts-файла пытаюсь прочитать и изменить svg (например, динамически окрашивать и создавать некоторые svg-элементы и добавлять к существующему svg), но застрял с ошибкой ниже: Property 'contentDocument 'не существует для типа' HTMLElement '

, использую 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», но когда я запускаю приложение, оно работает нормально, даже при наличии ошибки.Но когда я делаю ng build, это создает проблему.

не уверен, как можно исправить эту ошибку для успешного построения

1 Ответ

0 голосов
/ 05 мая 2019

Я решил это самостоятельно, обновив, как показано ниже. Я явно упомянул тип объекта как «любой».

let obj: any =document.getElementById('svg1');
    let svg2: any =obj.contentDocument.querySelector("svg");
 let pt = svg2.createSVGPoint();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...