【发布时间】:2019-12-14 13:21:38
【问题描述】:
在一个 Angular 组件中,我以一种非常复杂的方式显示实时数据,需要使用 ElementRef 来支持 UI 交互的各种用途。
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 的可能性,但我遇到了一些无法避免的罕见情况。
非常感谢任何建议。
【问题讨论】:
标签: angular elementref