В компоненте Angular я отображаю данные в реальном времени очень сложным способом, который требует использования ElementRef
для различных целей, поддерживающих взаимодействие с пользовательским интерфейсом.
this.elRef.nativeElement.querySelector('.my-element')
В результате я сталкиваюсь с несколькими редкими случаями использования, когда ссылка на элемент таким образом вызывает ошибку null
, потому что элемент либо еще не доступен в DOM, либо был ранее удален из-за обновления данных в реальном времени внутри *ngFor
.
Чтобы предотвратить ошибки, я проверяю нативный элемент на null
:
if(this.elRef.nativeElement.querySelector('.my-elment') != null) {
// reference or set style on this element
}
Это прекрасно работает, но есть ли лучший подход? В результате я получил множество этих if
утверждений по всему компоненту.
Я приложил все усилия, чтобы не касаться DOM и избежать возможности того, что элемент будет null
иначе в моем шаблоне, но я застрял в некоторых редких случаях, которые просто неизбежны.
Любые советы очень ценятся.