Свойство 'value' не существует для типа 'HTMLElement' - PullRequest
0 голосов
/ 05 декабря 2018

Внутри directive в Angular я сделал следующее:

let input: HTMLElement = renderer.createElement('input');
renderer.appendChild(this.elem.nativeElement, input);

, и когда я пытаюсь получить значение, записанное внутри этого ввода, используя:

console.log('value', input.value);

Я получаю эту ошибку:

Property 'value' does not exist on type 'HTMLElement'.

Хотя мы все сейчас, чтобы получить значение из ввода с использованием javascript, мы делаем следующее:

document.getElementById("searchTxt").value;

и document.getElementById() вернуть либо нулевой, либо HTMLElement объект:

/ ** * Возвращает ссылку на первый объект с указанным значением атрибута ID или NAME.* @param elementId Строка, которая определяет значение идентификатора.Без учета регистра.* / getElementById (elementId: string): HTMLElement |null;

так почему я получаю эту ошибку? !!

1 Ответ

0 голосов
/ 05 декабря 2018

Вместо этого используйте HTMLInputElement:

let input: HTMLInputElement= renderer.createElement('input');

В интерфейсе HTMLElement отсутствует свойство «value», поэтому вы получаете эти ошибки .ts.Интерфейс HTMLInputElement расширяет HTMLElement и имеет свойство value.

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