应产品要求,小程序跳转到兼职详情页,然后返回到首页页面不刷新,但是首页选择城市后返回首页又要页面刷新。(具体术语可以看下 青团社兼职实习 小程序)
wx.navigateTo(OBJECT)
保留当前页面,跳转到应用内的某个页面,使用wx.navigateBack可以返回到原页面。
wx.redirectTo(OBJECT)
关闭当前页面,跳转到应用内的某个页面。
wx.reLaunch(OBJECT)
关闭所有页面,打开到应用内的某个页面。
wx.switchTab(OBJECT)
跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面
实现:
首先小程序的生命周期:onShow和onLoad的问题,onLoad页面打开只加载一次,onShow页面打开每次都加载。
选择城市后返回必须加载,那就用onShow
跳转到兼职详情页返回不用加载,那就用onLoad
但是不能判断上一个页面的路由,也不能根据需求使用onShow或者onLoad,
所以只能使用onLoad。
实现中遇到的问题:
原理:
跳转到选择城市页面使用wx.redirectTo()把首页关闭,跳到选择城市页面,选择城市页面再返回首页,首页会触发onload,
但是这样有一个问题是:把首页关闭了那么选择城市点击左上角的返回就会关闭当前小程序,必须要用户选择一个城市,体验不好。
解决办法:
首页跳转到兼职详情页使用wx.navigateTo()
首页跳转到选择城市也使用wx.navigateTo()
选择城市页面点击城市名使用wx.reLaunch()关闭所有页面跳转到某个页面也会触发onLoad,使首页更新。
ps:因为跳转到首页也就是tabbar一直用的wx.switchTab(),并不知道wx.reLaunch()也是可以跳转tabbar的。所以这个问题完美解决
青团社招聘:
招聘岗位:高级前端开发工程师P5及以上
简历投递到:hr@qtshe.com || haochen@qtshe.com
职位描述:
1、建设工具、提炼组件、抽象框架,促进前端工程化、服务化,持续提升研发效率,保障线上产品质量
2、构建H5/PC应用基础设施,主导建设前端各种发布/监控等平台,指导落实解决方案
3、持续优化前端页面性能,维护前端代码规范,钻研各种前沿技术和创新交互,增强用户体验、开拓前端能力边界
网友评论