- 基于发布订阅模式的小程序页面通信机制,降低页面耦合度
- 类似 Vue 的 api
在 app.js 中引入该模块,将实例挂在 app 下
//app.jsconstWeEvent=require('./utils/we-event.js')App({// ...event: newWeEvent(),// ...})在页面中获取 app 对象,即拿到 event 事件对象
使用emit 派发事件
constapp=getApp()Page({// ...someMethod(){app.event.emit('some-event',arg)},// ...})使用 on 订阅事件,注意在 onUnload 中移除事件监听
constapp=getApp()Page({onLoad(){app.event.on('some-event',this.updateState,this)},onUnload(){app.event.off('some-event',this.updateState)},updateState(arg){// ...},})- event.on(event, callback, context)
{sting} event{Function} callback{object} context为当前页面page对象,传this即可
- event.off([event, callback])
{string} event{Function} callback
- event.emit(event, [...args])
{string} event{arguments list} [...args]
该模块使用了ES6语法,需配置环境支持