2017-05-01 1 views
1

Ich möchte ein benutzerdefiniertes Ereignis an das Stamm-Tag binden, anstatt es in mounted() zu binden. Also versuche ich den folgenden Code:Binden eines benutzerdefinierten Ereignisses mit Vue 2 und JSX

render (h) { 
    return (
    <div on-custom-event={this.handleCustomEvent}></div> 
) 
} 

aber wenn ich es mit Chorme laufen, fand ich, dass custom-event wurde DOM gebunden, die nicht gebrannt werden kann $emit verwenden, aber mit Vue2 ‚s Template Syntax ist es einfach zu tun:

<template> 
    <div @custom-event="handleCustomEvent"></div> 
</template> 

Bitte helfen Sie mir bei diesem Problem, danke!

Antwort

0

Gemäß Beispiel in the docs sollte der JSX Ereignishandler Kamel Fall sein, nicht Kebab-Fall, so versuchen, so etwas wie:

render (h) { 
    return (
    <div onCustomEvent={this.handleCustomEvent}></div>, 
) 
} 
+0

Vielen Dank für Ihre Antwort! Aber ich weiß es schon, meine Frage ist, wenn ich 'Klick' zu einem nicht-nativen Ereignis ersetze, wird es direkt an DOM binden. Was ich erreichen möchte, ist wie 'this. $ On ('custom-event', this.customEventHandler)'. – zl2003cn

+0

Siehe aktualisierte Antwort. –

+0

Gleiches Ergebnis. Eigentlich habe ich es schon mal ausprobiert. – zl2003cn

Verwandte Themen