页面跳转,并传递参数
handleEditService: function () {
const service = JSON.stringify(this.data.service)
wx.navigateTo({
//路径传参,先把参数转换成Json对象,然后传递
url: `/pages/service-edit/service-edit?service=${service}`
})
},
页面事件通信
在service-detail.js中订阅事件,
handleOrder: function () {
//如果没有Token说明没有登录过
if (wx.getStorageSync(cache.TOKEN)) {
wx.navigateTo({
url: '/pages/login/login',
events: { //订阅事件
//login监听的事件名称,来重新检查用户角色
login: () => { //使用箭头函数在ES6中解决this指向改变问题
this._checkRole()
}
}
})
return
}
...
},
在login.js中发送事件
handleLogin: async function () {
...
try {
await User.login()
await User.updateUserInfo(res.userInfo)
//定义变量,管理页面之间通信
const event = this.getOpenerEventChannel()
event.emit('login') //触发事件
wx.navigateBack()
} catch (e) {
...
}
wx.hideLoading()
},