A class used to manage events and options in a component.
#eventemitter #options #typescript
IE 7+ (possibly 9 also), latest of Chrome/FF/Safari, iOS 7+ and Android 2.3+ (except 3.x)
<!-- 1) Load egjs packaged file -->
<script src="//naver.github.io/egjs-component/release/latest/dist/component.min.js"></script>
import Component, { ComponentEvent } from "@egjs/component";
class Some extends Component{
foo() {
this.trigger("hi"); // fire hi event.
}
bar() {
this.trigger(new ComponentEvent("bye", { foo: 1, bar: "bye" })) // Fire bye event with the additional properties
}
}
const some = new Some();
some.on("hi", () => {
console.log("fire hi event");
});
some.on("bye", e => {
// These properties are supported additionally by using ComponentEvent
e.eventType; // string
e.currentTarget; // some(instance of the class Some)
e.stop();
e.isCanceled();
// Additional event parameters
e.foo; // 1
e.bar; // "bye"
});
//es5 style
function Some(){
}
Some.prototype = new Component(); //extends
Some.prototype.constructor = Some;
Some.prototype.foo = function() {
this.trigger("hi"); // fire hi event.
}
var some = new Some();
some.on("hi", function() {
console.log("fire hi event");
});
import Component, { ComponentEvent } from "@egjs/component";
class Some extends Component<{
hi: ComponentEvent;
}> {
foo() {
this.trigger(new ComponentEvent("hi")); // fire hi event.
}
}
const some = new Some();
some.on("hi", e => {
console.log("hi event fired");
console.log(e.eventType); // "hi"
console.log(e.currentTarget); // some
});