123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- const eventBus = {
- // 存储所有事件和对应的订阅者
- eventList: new Map(),
- // 订阅事件
- on(event, callback) {
- if (!this.eventList.has(event)) {
- this.eventList.set(event, new Set())
- }
- this.eventList.get(event).add(callback)
- },
- // 取消订阅事件
- off(event, callback) {
- if (this.eventList.has(event)) {
- const callbacks = this.eventList.get(event)
- callbacks.delete(callback)
- if (callbacks.size === 0) {
- this.eventList.delete(event)
- }
- }
- },
- // 发布事件
- emit(event, ...args) {
- if (this.eventList.has(event)) {
- const callbacks = this.eventList.get(event)
- callbacks.forEach((callback) => {
- callback.call(null, ...args)
- })
- }
- }
- }
- function selectIndex(index) {
- var pages = getCurrentPages();
- var curPage = pages[pages.length - 1]
- if (typeof curPage.getTabBar === 'function' &&
- curPage.getTabBar()) {
- curPage.getTabBar().setData({
- selected: index
- })
- }
- }
- function eventOn(curPage) {
- getApp().eventBus.on('rightChange', data => {
- // var pages = getCurrentPages();
- // var curPage = pages[pages.length - 1]
- if (data !== curPage.data.rightId) {
- console.log("页面:");
- curPage.setData({
- rightId: data
- })
- if (curPage.data.rightId === 2) {
- let num = curPage.data.rightId === 1 ? 2 : 1
- if (typeof curPage.getTabBar === 'function' &&
- curPage.getTabBar()) {
- curPage.getTabBar().setData({
- selected: num
- })
- }
- }
- }
- });
- }
- module.exports = {
- eventBus,
- selectIndex,
- eventOn
- }
|