Base class to extend. Like backbone events.
npm install ts-base-class --save
/// <reference types="ts-base-class" />
npm install typescript -g
npm install tsd -g
npm run init
npm run test
- on
- once
- off
- listenTo
- listenToOnce
- stopListening
- trigger
- onLoad
- loaded
- onReady
- ready
- onState
- setState
- hasState
- isLoaded
- on(eventName:string, handler:IHandler, context?:any):Base;
- once(eventName:string, handler:IHandler, context?:any):Base;
- off(eventName?:string, handler?:IHandler):Base;
- listenTo(target:Base, eventName:string, handler:IHandler, context?:any):Base;
- listenToOnce(target:Base, eventName:string, handler:IHandler, context?:any):Base;
- stopListening(target?:Base, eventName?:string, handler?:IHandler):Base;
- trigger(eventName:string, args?:Array):Base;
- onLoad(callback:Callback):Base;
- loaded():Base;
- onReady(callback:Callback):Base;
- ready():Base;
- onState(state:string, callback:Callback):Base;
- setState(state:string):Base;
- hasState(state:string):boolean;
- isLoaded():boolean;
/// <reference types="ts-base-class" />
import {Base} from 'ts-base-class';
class MyClass extends Base {
//...
}
var $class = new MyClass();
$class.on("Some:change", function (arg) {
console.log(this instanceof MyClass); //true
console.log(arg); //1
});
$class.on("Some", function (state:string, arg) {
console.log(this instanceof MyClass); //true
console.log(state); //"change"
console.log(arg); //1
});
$class.trigger("Some:change", [1]);
Licensed under ISC