我如何访问dom元素,它位于Angular中的shadow根元素下 #影子根

我如何访问dom元素,它位于Angular中的shadow根元素下 #影子根,angular,typescript,angularjs-directive,angular-material,Angular,Typescript,Angularjs Directive,Angular Material,要访问提交按钮。我尝试过使用ElementRef,但无法访问该元素,因为它位于shadowDom下。如果有人能帮我解决这个问题。你可以像下面这样查询: <div> <external-component> #shadow-root <div class="test"> <button value="submit"></button> </div> </external

要访问提交按钮。我尝试过使用ElementRef,但无法访问该元素,因为它位于shadowDom下。如果有人能帮我解决这个问题。

你可以像下面这样查询:

<div>

<external-component>

#shadow-root

<div class="test">

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

</div>

</external-component>

</div>

您可以按如下方式进行查询:

<div>

<external-component>

#shadow-root

<div class="test">

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

</div>

</external-component>

</div>

在HTML中,需要使用templateVariable更新按钮

constructor(ele: ElementRef){}

//Inside your function
const shadowRoot: DocumentFragment = this.ele.nativeElement.shadowRoot;
const Button = shadowRoot.querySelector('button');  
您应该能够使用ts代码中的
此按钮访问该按钮


希望这对HTML有所帮助,您需要使用templateVariable更新按钮

constructor(ele: ElementRef){}

//Inside your function
const shadowRoot: DocumentFragment = this.ele.nativeElement.shadowRoot;
const Button = shadowRoot.querySelector('button');  
您应该能够使用ts代码中的
此按钮访问该按钮


希望这对您有所帮助

为什么需要将elementRef添加到按钮元素。您可以添加
(单击)
以获得单击事件!!为什么需要将elementRef添加到button元素。您可以添加
(单击)
以获得单击事件!!