如何访问 Angular 中影子根元素下存在的 dom 元素

use*_*751 3 typescript angularjs-directive angular-material angular

<div>

<external-component>

#shadow-root

<div class="test">

<button value="submit"></button>

</div>

</external-component>

</div>
Run Code Online (Sandbox Code Playgroud)

想要访问提交按钮。我尝试使用 ElementRef 我无法访问该元素,因为它存在于 ShadowDom 下。如果有人可以帮助我解决这个问题。

Tha*_*var 6

您可以像下面这样查询:

constructor(ele: ElementRef){}

//Inside your function
const shadowRoot: DocumentFragment = this.ele.nativeElement.shadowRoot;
const Button = shadowRoot.querySelector('button');  
Run Code Online (Sandbox Code Playgroud)

  • 这种方法行不通。我得到的 ShadowRoot 值为空。如果您有任何想法,请告诉我?我正在尝试访问 HTML 日期输入控件的影子 DOM。 (2认同)