I want to fire/send/emit a custom event from inside a Polymer element. For example, I want to convert a normal DOM event like \"changed\" to a more semantic event like \"tod
Capture the change events on the . Notice the on-change below.
Handle the change event in the custom element code that contains the checkbox.
import 'package:polymer/polymer.dart';
import 'dart:html';
import 'models.dart';
@CustomTag('todo-item')
class TodoItemElement extends PolymerElement with ObservableMixin {
@observable Item item;
bool get applyAuthorStyles => true;
void change(Event e, var details, Node target) {
// do stuff here
}
}
Notice the change event handler. That method is run any time the checkbox state changes.
Dispatch a custom event.
void change(Event e, var details, Node target) {
dispatchEvent(new CustomEvent('todochange'));
}
NOTE: the custom event name must not contain dashes.
Listen for the custom event in a parent custom element.
Notice the use of on-todochange.
Enjoy!