typescript - Hur kan jag få åtkomst till DOM-element som finns under shadow root-elementet i Angular
<div>
<external-component>
#shadow-root
<div class="test">
<button value="submit"></button>
</div>
</external-component>
</div>
Vill komma åt skicka-knappen. Jag har försökt använda ElementRef men jag kan inte komma åt elementet, eftersom det finns under shadowDom. Om någon kan hjälpa mig med detta.
Svar #1
Du kan göra en förfrågan som nedan:
constructor(ele: ElementRef){}
//Inside your function
const shadowRoot: DocumentFragment = this.ele.nativeElement.shadowRoot;
const Button = shadowRoot.querySelector('button');
Svar #2
I HTML behöver du uppdatera knappen med en templateVariable
<button #buttonRef arr='value'></button>
Sedan kan du i komponenten använda en ViewChild för att få referensen och komma åt värdena.
@ViewChild('buttonRef', {static: true}) button: ElementRef<HTMLButtonElement>;
Du bör kunna komma åt knappen med this.button i din ts-kod.
Hoppas detta hjälper
