使用情况
A页面是任务进行中列表,B页面是每个任务提交页面,当B页面任务提交后,需调用A页面的获取数据方法,更新A页面的任务列表,把进行中的任务状态改变为待审核
方法
A页面跳转携带方法
// A 页面
routerGo(data){
let that = this
wx.navigateTo({
url: '../submit/submit?data=' + JSON.stringify(data), //跳转B页面可携带参数
events:{
updateDetaildata:(childData)=>{ //updateDetaildata 是携带的方法B页面调用
// that.more(childData.pubId) 后续操作
}
},
})
},
B页面调用
// B 页面
// -------重要部分 ------ that.getOpenerEventChannel().emit('updateDetailData',that.data.formData) //利用getOpenerEventChannel实现调用A页面方法updateDetailData
// ------ 提交表单包括post请求及携带参数
submit(data){
let that = this
wx.request({
url: urls, //提交表单调用方法
method: 'post',
header: {
'content-type': 'application/json',
'token': wx.getStorageSync('token')
},
data: JSON.stringify(searchParam), //searchParam是请求携带的参数
success: res => {
if (res.data.code == 0) {
wx.showToast({
title: '提交成功',
icon: 'error',
duration: 1500
});
debugger
that.getOpenerEventChannel().emit('updateDetailData',that.data.formData) //利用getOpenerEventChannel实现调用A页面方法updateDetailData
wx.navigateBack({ // 返回上一个页面
delta: 1
});
} else if (res.data.code === 401) {
wx.setStorageSync('token', '');
wx.setStorageSync('expire', '')
wx.navigateTo({
url: '../login/login'
})
} else {
wx.showToast({
title: res.data.msg,
icon: 'error'
});
}
},
fail: error => {
//调用服务端登录接口失败
wx.showToast({
icon: 'error',
message: '请求失败,请稍后再试!',
})
}
})
},