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

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

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

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

在跳转前存储参数:

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

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

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

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

相关文章
|
26天前
|
缓存 网络协议 前端开发
【高频】从输入URL到页面展示到底发生了什么?
【高频】从输入URL到页面展示到底发生了什么?
|
5天前
|
JavaScript 前端开发 数据格式
URL编码【详解】——Javascript对URL进行编码解码的三种方式的区别和使用场景,axios请求拦截器中对get请求的参数全部进行URL编码
URL编码【详解】——Javascript对URL进行编码解码的三种方式的区别和使用场景,axios请求拦截器中对get请求的参数全部进行URL编码
7 0
|
5天前
|
JavaScript
js 获取并解析 url 中参数的三种方法
js 获取并解析 url 中参数的三种方法
6 0
|
10天前
|
文字识别 算法 API
视觉智能开放平台产品使用合集之在调用接口传入的图片URL参数,文件在本地或者非上海地域OSS链接,该怎么办
视觉智能开放平台是指提供一系列基于视觉识别技术的API和服务的平台,这些服务通常包括图像识别、人脸识别、物体检测、文字识别、场景理解等。企业或开发者可以通过调用这些API,快速将视觉智能功能集成到自己的应用或服务中,而无需从零开始研发相关算法和技术。以下是一些常见的视觉智能开放平台产品及其应用场景的概览。
|
20天前
|
Web App开发 移动开发 安全
如何做到修改 url 参数页面不刷新
如何做到修改 url 参数页面不刷新
|
2月前
|
缓存 网络协议 前端开发
URL输入到页面渲染过程详解
URL输入到页面渲染过程详解
20 1
|
2月前
|
存储 Java 数据库连接
实时计算 Flink版产品使用合集之jdbccatalog中能指定url参数吗
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStreamAPI、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
2月前
|
存储 JavaScript 前端开发
js原生方法,获取url上面所有参数,并返回一个对象
JavaScript函数`getUrlParameters`用于从URL中提取所有参数并返回一个键值对对象。它接收URL,分割查询字符串,解码参数对,并存储在对象中。重复参数键会被存储为数组。
|
2月前
|
JavaScript
js如何实现修改URL参数并不刷新页面
js如何实现修改URL参数并不刷新页面
|
2月前
|
JavaScript
如何在JS中实现修改URL参数而不刷新页面
如何在JS中实现修改URL参数而不刷新页面