当前位置:   article > 正文

【边做边学】uni.switchTab的目标页面获取不到url携的参数

uni.switchtab

对于uni.switchTab切换到的页面,如果使用了类似于uni.switchTab({ url: '/pages/route/route?type=4' })这样的方式,携带参数的情况会遇到一些问题。uni.switchTab并不直接支持传递参数,而且 TabBar 页面在切换时可能无法正常获取到传递的参数。

一个常见的解决方案是使用全局状态管理(比如Vuex)或者小程序的全局数据(getApp().globalData)来在跳转前存储数据,然后在目标页面的onLoadonShow生命周期中获取这些数据。

在跳转前存储参数:

  1. // 在当前页面的某个方法或事件中
  2. uni.setStorageSync('targetPageParams', { type: 4 });
  3. uni.switchTab({
  4. url: '/pages/route/route',
  5. });

在目标页面的onLoadonShow中获取参数:

  1. // 在目标页面的 page.js 文件中
  2. export default {
  3. onLoad() {
  4. // 获取存储的参数
  5. const targetPageParams = uni.getStorageSync('targetPageParams');
  6. console.log('参数:', targetPageParams);
  7. // 清除参数(可选)
  8. uni.removeStorageSync('targetPageParams');
  9. },
  10. // 其他生命周期函数和配置项
  11. };

这种方法通过全局存储数据的方式,可以在目标页面加载时获取到传递的参数。请注意在使用uni.setStorageSync时,如果需要,可以在目标页面加载后清除已经使用过的参数。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/783593
推荐阅读
相关标签
  

闽ICP备14008679号