定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都将得到通知。包含订阅,分发,取消订阅。
git clone https://github.com/sakitam-fdd/observable-emit.git
npm install
npm run dev
npm run build
npm run karma.test
npm run karma.cover
https://unpkg.com/observable-emit@1.1.1/dist/Observable.min.js
https://unpkg.com/observable-emit@1.1.1/dist/Observable.js
npm install observable-emit --save
import Observable from 'observable-emit'
var emiter = new Observable()
emiter.on('event1', function(event, data) {
console.log(event, data)
})
// 触发一次取消订阅
emiter.once('event1', function(event, data) {
console.log(event, data)
})
emiter.on('event2', function(event, data) {
console.log(event, data)
})
emiter.dispatch('event1', 'one')
emiter.dispatchSync('event2', 'two')
// one
// 取消订阅, 不传时默认取消所有
emiter.un('event1')
订阅事件
key | type | desc |
---|---|---|
eventName |
string or Object |
事件名称, 可以使用空格分开订阅多个事件,也可以使用对象例如dom对象 |
callback |
function |
回调函数 |
context |
function |
上下文 |
订阅事件(仅触发一次即取消订阅)
key | type | desc |
---|---|---|
eventName |
string or Object |
事件名称, 可以使用空格分开订阅多个事件,也可以使用对象例如dom对象 |
callback |
function |
回调函数 |
context |
function |
上下文 |
取消订阅,无参数时默认取消所有事件订阅
key | type | desc |
---|---|---|
eventName |
string or Object |
事件名称, 可以使用空格分开订阅多个事件,也可以使用对象例如dom对象 |
callback |
function |
订阅函数 |
context |
function |
上下文 |
触发事件,实时(参数不定)
key | type | desc |
---|---|---|
eventName |
string |
事件名称 |
触发事件,异步(参数不定)
key | type | desc |
---|---|---|
eventName |
string |
事件名称 |