Где объявить HTMLElementTagNameMap, чтобы получить наборы для угловых элементов?

Я хотел бы получить точные данные для моих угловых элементов, но где я могу разместить HTMLElementTagNameMap-интерфейс, так что это правильно распознается?

Приведение типа на каждое вхождение работает:

const newCustomElement = 
   document.createElement('my-custom-element') as NgElement & WithProperties<{foo: 'bar'}>;

Но используя второй метод, упомянутый в Angular.io, объявив HTMLElementTagNameMap не работает для меня

Как или где я должен использовать это правильно?

1 ответ

Решение

Вы можете создать typings.d.ts файл в src папка вашего приложения Angular CLI:

type NgElement = import ('@angular/elements').NgElement;
type WithProperties<T> = import ('@angular/elements').WithProperties<T>;

interface HTMLElementTagNameMap {
  'my-custom-element': NgElement & WithProperties<{foo: 'bar'}>;
}

Другие вопросы по тегам