事件机制
QAP-SDK 支持 3 种类型的事件机制: 页面级别事件
应用级别事件
全局级别事件
- 页面级别事件 —— 只能在当前页面被监听和触发。
- 事件名的前缀为
Page.
。如:Page.balabala
。
- 应用级别事件 —— 能在整个应用插件的任一页面被监听和触发。
- 事件名的前缀为
App.
。如:App.balabala
。
- 全局级别事件 —— 能在千牛内的任一页面被监听,但是应用插件不能触发此类型事件。
- 事件名的前缀为
Global.
。如:Global.balabala
。
注意: 如果事件不含上述的前缀,则默认事件为页面级别事件,默认前缀为 Page.
。
API 调用
QN.on(ev, options)
注册事件
API 调用入参
名称 |
类型 |
是否可选 |
含义 |
ev |
String |
|
事件名称 |
options |
Object Function |
|
选项 或 事件回调函数 |
options.success |
Function |
optional |
调用成功的回调函数 |
options.error |
Function |
optional |
调用失败的回调函数 |
options.notify |
Function |
optional |
事件触发的回调函数 |
API 响应结果
名称 |
类型 |
是否必须返回 |
含义 |
result |
Object |
|
响应对象 |
result.errorCode |
Number |
|
错误码 |
result.errorMsg |
String |
|
错误信息 |
事件回调入参
名称 |
类型 |
是否必须 |
含义 |
data |
Any |
optional |
事件触发时传递的数据 |
调用示例
QN.on('event_balabala', (data) => {
console.log(data);
});
QN.on('event_balabala', {
success(result) {
console.log(result);
},
error(error) {
console.log(error);
},
notify(data) {
console.log(data);
}
});
QN.off(ev, options)
注销事件
API 调用入参
名称 |
类型 |
是否可选 |
含义 |
ev |
String |
|
事件名称 |
options |
Object Function |
|
选项 或 事件回调函数 |
options.success |
Function |
optional |
调用成功的回调函数 |
options.error |
Function |
optional |
调用失败的回调函数 |
options.notify |
Function |
optional |
事件触发的回调函数 |
API 响应结果
名称 |
类型 |
是否必须返回 |
含义 |
result |
Object |
|
响应对象 |
result.errorCode |
Number |
|
错误码 |
result.errorMsg |
String |
|
错误信息 |
调用示例
QN.off('event_balabala', (data) => {
console.log(data);
});
QN.off('event_balabala', {
success(result) {
console.log(result);
},
error(error) {
console.log(error);
},
notify(data) {
console.log(data);
}
});
QN.off('event_balabala');
QN.off('event_balabala', {
success(result) {
console.log(result);
},
error(error) {
console.log(error);
},
});
QN.emit(ev, data, options)
触发事件
API 调用入参
名称 |
类型 |
是否可选 |
含义 |
ev |
String |
|
事件名称 |
data |
Any Function Object |
optional |
数据 或 选项, 如果是 Function 或 选项 Object ,等同于不传递数据,此时该参数和第3个参数含义相同 |
options |
Function Object |
optional |
选项 或 成功回调,如果是 Function ,等同于 options.success |
options.success |
Function |
optional |
调用成功的回调函数 |
options.error |
Function |
optional |
调用失败的回调函数 |
API 响应结果
名称 |
类型 |
是否必须返回 |
含义 |
result |
Object |
|
响应对象 |
result.errorCode |
Number |
|
错误码 |
result.errorMsg |
String |
|
错误信息 |
调用示例
let data = {msg: 'msg from event_balabala'};
QN.emit('event_balabala');
QN.emit('event_balabala', data);
QN.emit('event_balabala', function success(result) {
console.log(result);
}};
QN.emit('event_balabala', {
success(result) {
console.log(result);
},
error(error) {
console.log(error);
},
});
QN.emit('event_balabala', data, function success(result) {
console.log(result);
});
QN.emit('event_balabala', data, {
success(result) {
console.log(result);
},
error(error) {
console.log(error);
},
});