【问题标题】:angular, get access on native element by passed referefence角度,通过传递的引用访问本机元素
【发布时间】:2020-09-22 21:49:30
【问题描述】:

我可以将 ElementRef 传递给子组件,然后在那里访问其 nativeElement 吗? 我得到了 html 元素,但我无法访问 nativeElement。我可以做些什么来访问 nativeElement 或如何直接传递它?

父模板:

<tr #refTr1>
  <app-cell [parentRef]="refTr1"></app-cell>
</tr>

子组件“appCellComponent”:

@Input parentRef: ElementRef;

ngOnInit(): void {
  console.log(this.parentRef.nativeElement.classList);
}

【问题讨论】:

    标签: angular


    【解决方案1】:

    @Input 装饰器后你忘记了 ()

    你的属性类型是 HTMLTableRowElement;

    @Input() parentRef: HTMLTableRowElement;
    

    并且您不需要在 this.parentRef

    之后使用 nativeElement

    【讨论】:

    • 感谢您的回答,但我需要 nativeElement,因为我使用 MutationObserver 在孩子身上工作,它需要 nativeElement。对不起,我没有提到这一点。我可以自己实例化 nativeElement 并将 HTMLTableRowElement 传递给构造函数。据我了解,nativeElement 是通过指定装饰器@ViewChild() 独立实例化的。但以我的方式,我必须手动完成。你是什​​么意思?我可以解决它吗?最好的问候。
    • 欢迎您。为什么要观察 元素的变化?我从未见过有人使用 MutationObserver 来查看 Angular 框架中的 DOM 变化。顺便说一句,HTMLTableRowElement 只是一种类型,而您的 parentRef 是本机元素,我阅读了 MutationObserver 文档,它似乎可以在其中工作
    猜你喜欢
    • 2019-01-05
    • 1970-01-01
    • 2016-04-09
    • 1970-01-01
    • 2011-06-05
    • 2015-04-26
    • 2019-08-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多