页面分类
tabBar 页面 - app.json中配置的 tabBar 页面
page 页面 - 其他的 非tabBar 页面,后面称为 page 页面
跳转页面时进行数据传递
目标页面为 tabBar 页面
wx.reLaunch({
url: '/pages/tab1/index?id=123'
})
Page({
onLoad (option) {
console.log(option.query);
}
})
目标页面为 page 页面
wx.reLaunch({
url: '/pages/page1/index?id=123'
})
wx.redirectTo({
url: '/pages/page1/index?id=123'
})
wx.navigateTo({
url: '/pages/page1/index?id=123'
})
Page({
onLoad (option) {
console.log(option.query);
}
})
触发事件进行通信
EventChannel - 页面间事件通信通道
const eventChannel = this.getOpenerEventChannel();
eventChannel.emit(string eventName, any args)
eventChannel.on(string eventName, EventCallback fn)
eventChannel.once(string eventName, EventCallback fn)
eventChannel.off(string eventName, EventCallback fn)
list 页面跳转info 页面触发事件监听
Page({
goToInfo(){
wx.navigateTo({
url: '/pages/info/index',
success(res){
res.eventChannel.emit('eventName', { param1: 'value1' });
}
})
}
})
Page({
eventAction(params){
console.log(params);
},
onLoad: function (options) {
const eventChannel = this.getOpenerEventChannel();
eventChannel.on('eventName', this.eventAction);
},
})
add 页面新增完毕返回list 页面触发事件监听
Page({
goToAdd(){
wx.navigateTo({
url: '/pages/add/index',
events: {
backRefresh(params){
console.log(params);
}
},
success(res){
}
})
}
})
Page({
saveItem(data){
saveService.save(data, () => {
const eventChannel = this.getOpenerEventChannel();
eventChannel.emit('backRefresh', { status: 'ok' });
})
},
})
|