Как исправить свойство не существует при ошибке типа «Элемент» в Typescript? - PullRequest
0 голосов
/ 07 апреля 2020

Я получаю сообщение об ошибке при запуске сборки. В нем говорится:

TS2339: свойство 'body' не существует для типа 'Элемент'.

Код выглядит следующим образом:

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

Пробовал добавить «как элемент» или instanceof после const, но это не сработало. Есть предложения?

1 Ответ

1 голос
/ 07 апреля 2020

После получения дополнительной информации в комментариях становится ясно, что вы хотите использовать настраиваемые свойства для настраиваемого элемента. Вы можете сделать это следующим образом:

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, а также получить доступ к вашим пользовательским свойствам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...