Skip to content

Event handling

Trame do not show any difference between an attribute or an event.

In vue.js, we have modifiers to handle DOM event details (stop, prevent, self, capture, once, passive).

Vue.js syntax

html
<button v-on:click="doSomething">Click Me</button>
<button @click="doSomething">Click Me</button>

<!-- with modifier -->
<button @click.stop.once="doSomething">Click Me</button>

Trame syntax

python
html.Button(
   "Click Me",
   click="doSomething",
)

# Modifiers tends to be missing in trame
html.Button(
   "Click Me",
   click_stop_once="doSomething",

   __events=[
    ("click_stop_once", "click.stop.once"),
   ],
)

TIP

Missing event mapping can be added using the __events keyword argument.

__events=[
   ("py_name", "vue-name.modifier"),
   ("my_click", "click.stop.once"),
]