#angular #ionic-framework #angular9 #ionic5 #ionicons
#angular #ionic-framework #angular9 #ionic5 #ionicons
Вопрос:
Я пытаюсь ссылаться на элемент IonIcon из моего шаблона с помощью
@ViewChild('downIcon') downIcon: HTMLIonIconElement;
Но я всегда получаю ReferenceError, что HTMLIonIconElement не определен, сразу после перезагрузки страницы (на каждой странице также маршрут не имеет значения).
Я импортировал IonicModule, должен ли я импортировать что-то еще?
Ответ №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. Но я не понимаю, почему это так.