QAP-SDK 支持 3 种类型的事件机制:
千牛客户端提供了多种事件机制,以方便开发者实现事件模块间通信、页面间通信、监听客户端变化等通信相关的需求。
千牛系统级事件,是指作为范围为整个千牛 App 的事件,用于监听客户端的变化以做出响应。千牛系统级事件的名称都必须以 Global.
作为前缀。**千牛系统级事件只能监听,不能触发!**
如:
QN.on('Global.DidEnterBackground', data => { console.log('千牛应用进入了系统后台'); });
插件级事件,是指作用范围限定在当前插件内所有的页面范围内的事件,通常用于实现页面间通信。插件级事件的监听和触发,事件名称都必须以 App.
作为前缀,来限定作用范围。
如:
// 页面 A QN.on('App.hello', data => { console.log(data.msg); // 'I am Page B' }); // 页面 B QN.emit('App.hello', { msg: 'I am Page B' });
页面级事件,是指作用范围限定在当前页面范围内的事件,通常用于实现模块间通信。页面级事件的监听和触发,事件名称都必须以 Page.
作为前缀,来限定作用范围。
如:
// 模块 A QN.on('Page.hello', data => { console.log(data.msg); // 'I am mobule B' }); // 模块 B QN.emit('Page.hello', { msg: 'I am mobule B' });
Tips: 如果事件不含上述的前缀,则默认为页面级别事件,前缀为
Page.
。即事件 hello 和 Page.hello 等同。