-
刷新页面,只需在要跳转的页面js使用onShow方法,里面调用onLoad方法,如需传值可以在第一次进入该页面时保存options,再调用onLoad(options)。
-
传值,使用“?参数名=”+值,另个页面用options.参数名获取,如参数是对象则需要用emit或转为JSON字符串再传。
- emit传递参数
setTimeout(function () {
wx.navigateTo({
url: '../editCampus/editCampus?id=' + _id,
success: function (res) {
// 通过eventChannel向被打开页面传送数据
res.eventChannel.emit('acceptDataFromOpenerPage', { data: info })
}
})
}, 800)
接收值的页面:
onLoad: function (options) {
var that = this
const eventChannel = this.getOpenerEventChannel()
// 监听acceptDataFromOpenerPage事件,获取上一页面通过eventChannel传送到当前页面的数据
eventChannel.on('acceptDataFromOpenerPage', function (msg) {
that.setData({
fuben:msg.data.imageUrl,
info: msg.data,
chooseImgs:msg.data.imageUrl,
name:msg.data.name,
textVal:msg.data.detail
})
})
}
- 使用JSON字符串传递参数
onItemClick: function (event) {
var targetUrl = "/pages/campusMapBehind/campusMapBehind"
var queryBean = JSON.stringify(event.currentTarget.dataset.msg)//转为JSON字符串
if (event.currentTarget.dataset.detailHrefId != null)
targetUrl = targetUrl + "?Id=" + event.currentTarget.dataset.detailHrefId + "&bean=" + queryBean ;
wx.navigateTo({
url: targetUrl
});
},
接收页面
let item = JSON.parse(options.bean)//转为JavaScript对象