我是靠谱客的博主 缥缈蓝天,最近开发中收集的这篇文章主要介绍uniapp 解决switchTab跳转tab页面不能直接传参问题,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

问题描述

在使用uniappuni.switchTab跳转到相应的 tabbar 页面后,无法读取到需要传递过来的参数。目前没有很好的直接传递参数的方法(2021年8月)。

问题分析

tabbar 页面在加载完成后,不会在切换和跳转中被销毁。也就是意味着跳转到已经加载过了的tabbar页面后,onLoad 中的代码是不会去执行。好在onShowonHide 中的代码在切换、展现、隐藏执行。

解决问题

  1. 利用uni.reLaunch()关闭所有页面,打开到应用内的某个页面。
// 跳转页面
uni.reLaunch({
  url:'pages/home/index?id=123&val=reLaunch'
});

// tabbar 页面
onLoad(option){
  console.log(option); // {id: 123, val: reLaunch}
}
  1. 利用uni.setStorageSync本地缓存需要传递的参数,在跳转到tabbar页面后用onShowuni.getStorageSync拿到存储的参数。
// 跳转页面
toSomePage(){
  uni.setStorageSync('option',{id:123, val:'switchTab'})
  uni.switchTab({
  	url:'pages/home/index'
	});
}

// tabbar 页面
onLoad(option){
  console.log(option); // {}
},
onShow(){
  let option = uni.getStorageSync('option');
  console.log(option); // {id: 123, val: reLaunch}
}

问题总结

  1. tabbar 加载后不会因跳转被销毁;
  2. uni.reLaunch()可以关闭所有页面,打开某一页面;
  3. onShow() 中的代码在切换时执行。

点赞 评论 收藏 ~~ 有疑惑的小伙伴,可能是我表达不清楚,可以留言讨论,如有错误,也希望大家不吝指出。 ~~ 点赞 评论 收藏

最后

以上就是缥缈蓝天为你收集整理的uniapp 解决switchTab跳转tab页面不能直接传参问题的全部内容,希望文章能够帮你解决uniapp 解决switchTab跳转tab页面不能直接传参问题所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(41)

评论列表共有 0 条评论

立即
投稿
返回
顶部