1. 事件简介
千牛客户端提供了多种事件机制,以方便开发者实现模块间通信、页面间通信、监听客户端变化等通信相关的需求。
1.1. 页面级事件
页面级事件,是指作用范围限定在当前页面范围内的事件。通常用于实现模块间通信。
如:
// 模块 A
QN.on('Page.hello', data => {
console.log(data.msg); // 'I am mobule B'
});
// 模块 B
QN.emit('Page.hello', {
msg: 'I am mobule B'
});
如示例中所展示,页面级事件的监听和触发,事件名称都必须以 Page. 作为前缀,来限定作用范围。
1.2. 插件级事件
插件级事件,是指作用范围限定在当前插件应用所有的页面范围内的事件。通常用于实现页面间通信。
如:
// 页面 A
QN.on('App.hello', data => {
console.log(data.msg); // 'I am Page B'
});
// 页面 B
QN.emit('App.hello', {
msg: 'I am Page B'
});
如示例中所展示,插件级事件的监听和触发,事件名称都必须以 App. 作为前缀,来限定作用范围。
1.3. 千牛系统级事件
千牛系统级事件,是指作为范围为整个千牛 App 的事件。用于监听客户端的变化以做出响应。
如:
QN.on('Global.DidEnterBackground', data => {
console.log('千牛应用进入了系统后台');
});
如示例中所展示,千牛系统级事件的监听,事件名称都必须以 Global. 作为前缀。
另外,千牛系统级事件,只能监听,不能触发。