Проблемы с типом элементов DOM в TypeScript - PullRequest
0 голосов
/ 22 февраля 2020

Какой самый простой способ справиться с проблемами типа DOM в TypeScript?

Я нашел два (безобразных) решения: 1. // @ ts-ignore, которое заставит компилятор игнорировать проблему , 2. Используйте инструмент «Быстрое исправление», чтобы добавить информацию о типе в библиотеку типов. Нужно ли загружать более качественные библиотеки типов или есть что-то, что я неправильно понял?

Например, чтобы мой код работал в разных браузерах, мне иногда нужно получить доступ к "нестандартным" свойствам. Здесь ts c жалуется на divObj.document:

let document:Document = divObj.ownerDocument || divObj.document;

Библиотека типов также содержит неверную информацию для некоторых общих свойств DOM. Здесь он думает, что document.body имеет тип HTMLElement вместо HTMLBodyElement. (И даже если я приведу к нужному типу, он все еще не знает, что createTextRange - это функция этого класса - ИСПРАВЛЕНИЕ: это IE специфицированная c функция, поэтому поведение здесь корректное).

let bodyObj = document.body;
let range = bodyObj.createTextRange()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...