Bevor ich besser wusste, habe ich meine Richtlinie wie folgt definiert haben:Ein- und Ausgänge, wie man mit ihnen arbeitet, um den Namenskonventionen des Styleguides von Angular 2 zu folgen?
...
inputs: [
'onOutside'
]
...
export class ClickOutsideDirective {
@Output() onOutside: EventEmitter<any> = new EventEmitter();
}
Aber dann las ich das Styleguide und es wird gesagt, dass Sie nicht Ihre Ausgaben mit on
seit Angular 2 unterstützt die on-
Syntax Präfix sollte in die Vorlagen.
So wie ich versuche, es zu etwas zu ändern:
@Input() outsideClick: any;
@Output() outsideClick: EventEmitter<any> = new EventEmitter();
aber ich finde es schwierig, die @Input
Namen von dem Output
Namen zu trennen, wenn Sie nicht berechtigt sind die on
zu verwenden Präfix.
Bevor Sie beide die @Input
und @Output
das gleiche Ding nennen können, aber wenn beide innerhalb der exportierten Klasse deklarieren, dann funktioniert das nicht mehr, da ein Fehler geworfen wird.
Wenn ich die @Input
-outside
und die @Output
-outsideClick
nennen, ist es nicht wirklich Sinn machen, da sie beide die gleiche Sache sind. outside
ist die Funktion, die ich beim Aufruf von outsideClick
ausführen möchte.
Auch outsideClick
wird nicht wissen, was zu tun ist, wenn outside
nicht mehr die gleiche Sache ist, oder fehle ich etwas?
Wie sollte ich die Variablen @Input
und @Output
hier ansprechen, so dass es immer noch funktioniert und so viel Sinn macht wie im ersten Beispiel?
EDIT:
Anwendungsbeispiel:
<div clickOutside [exceptions]="['.toggler']" (outside)="doSomethingOnOutsideClick()"></div>
auslassen sollten Aber das macht keinen Sinn, wenn 'outsideClick' eine Funktion, die aufgerufen werden soll, es doesn 't change .. – Chrillewoodz
Entschuldigung, ich verstehe deinen Kommentar nicht. Was meinst du mit 'wenn outsideClick' ist eine Funktion? Können Sie Ihrer Frage ein Codebeispiel hinzufügen? –
Ich habe meine Antwort aktualisiert (bevor ich deine Bearbeitung gesehen habe). Was genau denkst du macht keinen Sinn? Was ist die Semantik des '(außerhalb)' Ereignisses? –