bui.emitter Class
Constructor
bui.emitter
()
Example:
js:
// 初始化
var emitter = bui.emitter();
// 自定义search事件监听
emitter.on("search",function(val){
search(val);
});
$("#id").click(function (e) {
var val = $("input").val();
emitter.trigger("search",val);
})
// 搜索
function search(val) {
bui.ajax({
url: "",
data: {
keyword: val
}
}).then(function () {
// 拿到数据返回渲染
})
}
Methods
has
(
Boolean
-
[keyname]
是否存在当前keyname
Parameters:
-
[keyname]
String optional自定义事件名称
Returns:
Boolean:
Example:
// 是否存在当前keyname
emitter.has("search");
notify
()
通知所有变更
Example:
$("#id").click(function (e) {
emitter.notify();
})
off
(
-
[type]
-
[callback]
取消事件
Parameters:
-
[type]
String optional自定义事件名称
-
[callback]
Function optional触发的回调
Example:
// 取消所有search事件
emitter.off("search");
on
(
-
[type]
-
[callback]
监听自定义事件
Parameters:
-
[type]
String optional自定义事件名称
-
[callback]
Function optional触发的回调
Example:
// 自定义search事件监听
emitter.on("search",function(val){
search(val);
});
one
(
-
[type]
-
[callback]
只监听在第一次的时候触发,触发以后不再执行
Parameters:
-
[type]
String optional自定义事件名称
-
[callback]
Function optional触发的回调
Example:
// 监听一次
emitter.one("search",function(val){
search(val);
});
trigger
(
-
[type]
-
[arguments]
触发事件
Parameters:
-
[type]
String optional自定义事件名称
-
[arguments]
String | Object | Number optional需要传给自定义事件的参数,可以有多个
Example:
$("#id").click(function (e) {
emitter.trigger("search",e);
})
wait
(
-
[type]
-
[callback]
只监听在第一次的时候触发,触发以后不再执行
Parameters:
-
[type]
Array optional自定义事件名称
-
[callback]
Function optional触发的回调
Example:
// 监听一次
emitter.wait(["search","list"],function(search,list){
// console.log(search);
// console.log(list);
});
waited
(
-
[type]
-
[callback]
只监听在第一次的时候触发,触发以后不再执行, 跟wait的区别在于返回的实例, wait返回了参数+实例
Parameters:
-
[type]
Array optional自定义事件名称
-
[callback]
Function optional触发的回调
Example:
// 监听一次
emitter.waited(["search","list"],function(search,list){
// console.log(search);
// console.log(list);
});