svg "textLength" не работает с угловой 7 - PullRequest
0 голосов
/ 04 февраля 2019
const textElement = document.getElementById("id123");

if(textElement && textElement.textLength.baseVal.value){
    return Math.floor((node.width - textElement.textLength.baseVal.value) /2)
}

textElement.textLength показывает ошибку, когда я делаю это в угловом 7.

Ошибка:

Свойство 'textLength' не существует для типа 'HTMLElement'.

1 Ответ

0 голосов
/ 04 февраля 2019

Машинописный текст безопасен для печати.Поэтому document.getElementById () возвращает тип HTMLElement, который не содержит свойства value.Однако подтип HTMLInputElement содержит свойство value.

Таким образом, решение заключается в приведении результата getElementById () к HTMLInputElement следующим образом:

var temp = (<HTMLInputElement>document.getElementById("id123"));

<> - оператор приведения в типизированном сценарии.,См. Вопрос TypeScript: приведение HTMLElement.

Результирующий JavaScript из строки выше выглядит следующим образом:

temp = (document.getElementById("id123"));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...