使用wx.navigateBack();返回上一页,为什么onShow中的函数不
- 需求的场景描述(希望解决的问题)
从A页面跳转到B页面之后,B页面对用户数据做了一些处理,处理之后返回A页面,但是A页面onShow中的函数没有重新执行,刷新页面数据
A页面跳转到B页面:
B页面返回A页面:
- 希望提供的能力
怎样才能返回上一页之后,页面中onShow中函数重新执行,加载新的数据
5 回复
class Event{ constructor(){ this .callbacks = {} } set(key, value){ if (!key) return if (key in this .callbacks) ( this .callbacks[key])(value) } on(key, fn){ if (!key || typeof (fn) != 'function' ){ return false } this .callbacks[key] = fn return true } } export default new Event() |
A页面
import event from ‘…/…/utils/event’
onShow(){
event.on(‘classifyId’,(classifyId)=>{
1. 监听B页面返回的值
2. 执行刷新xxx
})
}
}
B页面
import event from ‘…/…/utils/event’
onBack(){
event.set(‘classifyId’,{})
wx.navigateBack({ delta:1 })
}