Für ein bisschen mehr Flexibilität als mit Mikronyks beantworten, können Sie es so machen:
1. Fügen Sie in Ihrer Vorlage #myIdentifier
zu dem Element hinzu, von dem Sie die Breite erhalten möchten. Beispiel:
2. In Ihrem Controller können Sie dies mit @ViewChild('myIdentifier')
verwenden, um die Breite zu erhalten:
Sicherheit
Über das Sicherheitsrisiko mit ElementRef
gibt es keins. Es bestünde ein Risiko, wenn Sie das DOM mit einem ElementRef ändern . Aber hier erhalten Sie nur get DOM-Elemente, so dass kein Risiko besteht. Ein riskantes Beispiel für die Verwendung von ElementRef
wäre: this.myIdentifier.nativeElement.onclick = someFunctionDefinedBySomeUser;
. So erhält Angular keine Chance, seine Sanitisationsmechanismen zu verwenden, da someFunctionDefinedBySomeUser
direkt in das DOM eingefügt wird, das Angular Sanitisation überspringen
Tags und Links angular angular-directive angular-components