Kann eine Bedingung in der Vorlage definiert werden, auf der ein Click-Handler basiert?Bedingtes Anwenden des Klickereignisses in Angular 4
Zum Beispiel ist die nächste, die ich bekommen kann, eine Bedingung am Eingang der Klickmethode zu bewerten.
<a class='user' (click)=" isOverflown? menu.toggle($event): '' "></a>
Gibt es eine Möglichkeit, in der ich Bindung an dem Klickereignis vermeiden kann völlig, wenn das Flag isOverflown
falsch ist?
Außerdem möchte ich nicht ng-if
auf das Element verwenden und die Vorlage duplizieren. dh: Erstellen Sie ein Element, das click
Bindung und erstellen eine andere hat, die nicht, dann zeigen/verstecken sie mit ng-if
Es gibt keine Möglichkeit austragen tun aktivieren/deaktivieren Bindungen. Sie können '@ViewChild ('. User') aBenutzer: ElementRef;' und dann 'this.aUser.nativeElement.addEventListener (...);' oder 'removeEventListener()' –
Was versuchen Sie genau zu erreichen, wenn Sie Willst du die Bindung vermeiden? Warum ist eine Bindung für Sie problematisch? – Pac0
Ich habe eine Komponente, in der das Klickverhalten nur benötigt wird, wenn der Benutzer einen Wert für einen der '@ Input' liefert. Ich kannte also nur diese zwei Möglichkeiten, von denen ich wegen der großen Vorlage, die Duplikat ist, kein 'ng-if' verwenden möchte. Also habe ich mich gefragt, ob es eine deklarative Möglichkeit gibt, den Handler überhaupt nicht zu registrieren, wenn eine Bedingung nicht erfüllt ist. Erklärt das, was ich versuchte? –