小程序父孙组件 孙触发事件传递给父组件 简单eventBus
2021/10/6 14:10:58
本文主要是介绍小程序父孙组件 孙触发事件传递给父组件 简单eventBus,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
小程序父孙组件 孙触发事件传递给父组件 简单eventBus
- 环境:
ts
WeappEventBus.ts:事件公交回调类
interface CallBackObj { [index:string]: Function } class EventBus { private eventObj: CallBackObj = {} constructor() { console.log('event bus initing ...'); } /** * 创建回调函数, 同名会覆盖, {key: callback}必须都传 */ on(key: string, callback: Function): void { if(!(key && callback)) return; this.eventObj[key] = callback; } /** * 触发指定回调 */ emit(key: string, params: Array<any>): void { if (!key) return; this.eventObj[key](params); // 调用对象存储的方法并传参 } /** * 移除回调 * @param key * @returns */ remove(key: string): void { if (!key || !this.eventObj[key]) return; delete this.eventObj[key]; } } const eventBus = new EventBus; export { eventBus }
app.ts引入
// app.ts import { eventBus } from './utils/weappEventBus'; App<IAppOption>({ globalData: { bus: null }, onLaunch() { this.globalData.bus = eventBus; this.globalData.bus.on('xxx',(params: Array<any>) => { console.log(params); }) } })
孙组件.ts:模拟网络请求后孙组件传递事件给父组件
created(): void { setTimeout(() => { BUS.emit('xxx', { name: 'bill', age: 21 }); }, 1000); } pageLifetimes: { hide: function() { BUS.remove('xxx'); }, }
- 效果
这篇关于小程序父孙组件 孙触发事件传递给父组件 简单eventBus的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-20微信小程序开发入门指南
- 2024-12-20小程序 createCameraContext() 怎么实现识别条形码功能?-icode9专业技术文章分享
- 2024-11-22微信小程序的接口信息py可以抓到吗?-icode9专业技术文章分享
- 2024-11-22怎样解析出微信小程序二维码带的参数?-icode9专业技术文章分享
- 2024-11-22微信小程序二维码怎样解析成链接?-icode9专业技术文章分享
- 2024-11-22微信小程序接口地址的域名需要怎么设置?-icode9专业技术文章分享
- 2024-11-22微信小程序的业务域名有什么作用-icode9专业技术文章分享
- 2024-11-22微信小程序 image有类似html5的onload吗?-icode9专业技术文章分享
- 2024-11-22微信小程序中怎么实现文本内容超出行数后显示省略号?-icode9专业技术文章分享
- 2024-11-22微信小程序怎么实现分享样式定制和图片定制功能?-icode9专业技术文章分享