on:vm:event and on:el:event
You can use on:el:event
to listen to DOM events (even on elements that have viewModels):
var viewModel = new SimpleMap({
prop: "Mercury"
});
var MySimpleMap = SimpleMap.extend({
someMethod: function(){
// DOM event triggers method call!
}
});
var parent = new MySimpleMap();
MockComponent.extend({
tag: "view-model-able",
viewModel: viewModel
});
var template = stache("<view-model-able on:el:prop='someMethod'/>");
var frag = template(parent);
var element = frag.firstChild;
// trigger a DOM event with the same name as the viewModel event
canEvent.trigger.call(element, "prop");
You can also use on:vm:event
to explicitly bind on viewModel events. This is really more for clarity since, viewModel events are the default if the element has a viewModel.