还可以使用mitt.js通过消息订阅的方式来实现。
在util新建文件mitt.js
function mitt(all) {
all = all || Object.create(null);
return {
on(type, handler) {
(all[type] || (all[type] = [])).push(handler);
},
off(type, handler) {
if (all[type]) {
all[type].splice(all[type].indexOf(handler) >>> 0, 1);
}
},
emit(type, evt) {
(all[type] || []).slice().map((handler) => {
handler(evt);
});
(all['*'] || []).slice().map((handler) => {
handler(type, evt);
});
}
};
}
module.exports = {
mitt: mitt
}app.js的代码增加:
const mitt = require('./utils/mitt').mitt
App({
onLaunch: function () {
let that = this
that.globalData.bus = mitt()
//调用page里的_custommethod
that.globalData.bus.emit('_custommethod', data)
}
})page里的代码增加const app = getApp()
Page({
custommethod: function(data){
},
onShow: function () {
let that = this
app.globalData.bus.on('_custommethod', that.custommethod)
},
onHide: function () {
let that = this
app.globalData.bus.off('_custommethod', that.custommethod)
},
})
网友回复
如何破解绕开seedance2.0真人照片生成视频 限制?
python有哪些算法可以将视频中的每个帧图片去除指定区域水印合成新的视频?
iphone的激光雷达数据能否实时传输到three三维空间中?
豆包sora等ai视频生成大模型生成的视频水印如何去除?
python如何实现在电脑上拨号打电话给手机?
具身机器人与人形机器人区别?
nodejs如何将一个完整的js代码文件切割成不同的部分混淆后动态加载进入html运行?
为啥windows.onerror捕获js错误是这样的{"message":"Script error.","source":"","lineno":0,"colno":0,"stack":null,
2026年ai将全面接管编程?
WebMCP是干啥的?


