Wie erhält man die Breite / Höhe eines Elements innerhalb von Anweisungen und Komponenten?

8

%Vor%

Hey, ich möchte die Breite / Höhe von Elementen in MoveDirective und DonationComponent bekommen, ich lese das Dokument mehrmals, aber finde immer noch keinen Weg zu dieser Antwort. Weiß jemand das, bitte helft mir, vielen Dank!

>     
胡亚雄 02.10.2016, 02:22
quelle

2 Antworten

20

Sie können ElementRef wie unten gezeigt verwenden,

DEMO: Ссылка überprüfen Sie die Browser-Konsole.

%Vor%

Sie können es auch in der Komponente selbst verwenden, wo immer Sie sie brauchen.

    
micronyks 02.10.2016, 04:44
quelle
6

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:

%Vor%

2. In Ihrem Controller können Sie dies mit @ViewChild('myIdentifier') verwenden, um die Breite zu erhalten:

%Vor%

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

    
bersling 12.06.2017 21:08
quelle