时间:2019-05-03 来源:小程序工厂
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 })
}
关键是看你onShow里数据处理逻辑怎么写的。
是执行了的,但是之前的列表还在,又重新加载了一个新的列表
你在A页面的onShow()中,打印一下看看。这个页面方法在回退之后应该是会执行一次的