HTMLIonIconElement не определен

#angular #ionic-framework #angular9 #ionic5 #ionicons

#angular #ionic-framework #angular9 #ionic5 #ionicons

Вопрос:

Я пытаюсь ссылаться на элемент IonIcon из моего шаблона с помощью

@ViewChild('downIcon') downIcon: HTMLIonIconElement;

Но я всегда получаю ReferenceError, что HTMLIonIconElement не определен, сразу после перезагрузки страницы (на каждой странице также маршрут не имеет значения).

Я импортировал IonicModule, должен ли я импортировать что-то еще?

Получил это, если я использую HTMLElement введите описание изображения здесь

Ответ №1:

Вы можете использовать HTMLElement вместо HTMLIonIconElement .

 @ViewChild('icons') icons: HTMLElement;

ngAfterViewInit(): void {
  console.log(this.icons);
}
  

Здесь вы получите ссылку на ion-icon элемент.

Ссылка: https://stackblitz.com/edit/ionic-tmjcr3?file=pages/home/home.ts

Примечание: ViewChild инициируется после ngAfterViewInit перехвата жизненного цикла.

Комментарии:

1. Да, HTMLElement работает, но по какой-то причине я не получаю обратно ElementRef , вместо этого я получаю объект IonIcon. У этого объекта нет свойства nativeElement, но есть свойство el. В качестве обходного пути я мог бы установить тип downIcon на любой и преобразовать downIcon.el в HTMLIonIconElement. Но я не понимаю, почему это так.