Events & Listeners
You can emit events from both your Wires and JavaScript. Superb!
Emitting Events
You can emit events from Actions, Templates, and JavaScript.
Actions
Using the emit
method:
function someAction() {
emit( "taskAdded" );
}
You can provide arguments to all listeners by passing an array as the second argument.
function someAction() {
emit( "taskAdded", [
"some task",
now()
] );
}
Templates
Using the $emit()
method:
<button wire:click="$emit( 'taskAdded' )">
JavaScript
Using the global cbwire.emit()
:
<script>
cbwire.emit( 'taskAdded' );
</script>
Listeners
You can register event listeners on a Wire by defining listeners
.
component extends="cbwire.models.Component"{
listeners = {
"taskAdded": "clearCache"
};
function clearCache(){}
}
JavaScript keys are case-sensitive. You can preserve the key casing in CFML by surrounding your listener names in quotations.
JavaScript
Listening to events that you emit in your Actions can be done using cbwire.on()
.
<script>
cbwire.on( 'taskAdded', task => {
console.log( 'A task was added. ');
})
</script>
Last updated
Was this helpful?