我如何访问dom元素,它位于Angular中的shadow根元素下 #影子根
要访问提交按钮。我尝试过使用ElementRef,但无法访问该元素,因为它位于shadowDom下。如果有人能帮我解决这个问题。你可以像下面这样查询:我如何访问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
<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元素。您可以添加(单击)
以获得单击事件!!