Vue: Benutzerdefinierte Ereignisse:<child v-on:child-msg="handleIt"/>

Erstellt am 18. Juni 2016  ·  3Kommentare  ·  Quelle: vuejs/vue

Vue.js-Version

1.0.25

Reproduktionslink

https://jsfiddle.net/oL5qyky9/

Schritte zum Reproduzieren

Drücken Sie die Schaltfläche Ereignis versenden

Was wird erwartet?

alert('erledigt')

Was passiert eigentlich?

alert('handleIt wurde nicht ausgeführt');

Sobald Sie es von childMsg zurück zu child-msg ändern, verhält es sich wie erwartet.

Hilfreichster Kommentar

Weil Sie im Beispiel child-msg in childMsg geändert haben. Beachten Sie, dass bei Verwendung v-on in der Vorlage der Ereignisname vom Browser in Kleinbuchstaben umgewandelt wird. Dies ist Teil der 1.x-Template-Parsing-Einschränkungen, vermeiden Sie also die Verwendung von Großbuchstaben in Ereignisnamen in 1.x.

2.0 hat diese Einschränkung nicht.

Alle 3 Kommentare

Das Entfernen des 'events obj' von parent hat den Zweck erfüllt:

https://jsfiddle.net/oL5qyky9/2/

Ich denke, dass die Ereignisse obj mit dem Schlüssel „child-msg“ die Methodenbindung in der Vorlage „überschrieben“ haben.

Weil Sie im Beispiel child-msg in childMsg geändert haben. Beachten Sie, dass bei Verwendung v-on in der Vorlage der Ereignisname vom Browser in Kleinbuchstaben umgewandelt wird. Dies ist Teil der 1.x-Template-Parsing-Einschränkungen, vermeiden Sie also die Verwendung von Großbuchstaben in Ereignisnamen in 1.x.

2.0 hat diese Einschränkung nicht.

Ahh das macht Sinn. Danke Leute.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen