当前位置: 首页 > news >正文

uniapp用法--uni.navigateTo 使用与参数携带的方式示例(包含复杂类型参数)

一、基本用法
  1. 功能特性

    • 保留当前页面,将新页面推入导航栈顶部(适用于非 tabBar 页面跳转)‌。
    • 可通过 uni.navigateBack 返回原页面‌34。
  2. 代码示例

uni.navigateTo({
    url: '/pages/detail/detail?key=value' // 目标页面路径及参数
});
二、可携带参数类型
  1. 基础类型参数

    • 字符串/数值‌:直接拼接在 URL 后,如 url: '/pages/pageA?id=123&name=test'‌。
    • 布尔值‌:需转换为字符串传递(如 flag=true)。
  2. 复杂类型参数

    • 对象/数组‌:需先通过 JSON.stringify() 序列化,并用 encodeURIComponent() 编码处理‌。
      示例:
// 发送页面
const data = { list: [1,2,3], obj: { key: "value" } };
uni.navigateTo({
    url: `/pages/pageB?data=${encodeURIComponent(JSON.stringify(data))}`
});

// 接收页面(目标页面的 onLoad 函数)
onLoad(options) {
    const parsedData = JSON.parse(decodeURIComponent(options.data));
}
三、注意事项
  1. 路径规范

    • 目标页面需在 pages.json 中注册,路径必须以 / 开头(如 /pages/home/home)‌。
  2. 参数长度限制

    • URL 总长度受浏览器或平台限制,建议复杂数据优先使用本地缓存(如 uni.setStorageSync)‌。
  3. 跳转限制

    • 无法直接跳转至 tabBar 页面(需改用 uni.switchTab)‌。

四、参数接收示例

目标页面通过 onLoad 生命周期函数获取参数:

export default {
    onLoad(options) {
        // 基础参数
        console.log(options.id); // 输出 123
        // 复杂参数(需解码并反序列化)
        const obj = JSON.parse(decodeURIComponent(options.obj));
    }
}

(注:以上实现方式适用于 2025 年 UniApp 最新版本,参数传递逻辑与主流框架保持一致‌。)

http://www.dtcms.com/a/103802.html

相关文章:

  • 合合信息大模型加速器2.0实测:当AI开始“读心术“与“考古“
  • 若依框架二次开发——若依(RuoYi)实现手机号/邮箱/用户名多方式登录
  • 【MySQL基础-18】MySQL字符函数详解:高效处理文本数据的利器
  • 说说Redis的内存淘汰策略?
  • 课程6. 决策树
  • #不同版本下,单元测试的注解使用
  • Mysql从入门到精通day5————子查询精讲
  • 人工智能的未来:从弱 AI 到通用人工智能(AGI)
  • 常用的卷积神经网络及Pytorch示例实现
  • AI+制造的破局之战(上):从技术爆发到价值穿透,谁将率先定义“智能体时代”?
  • 网络架构搭建中的 QinQ 与端口安全策略
  • python采集淘宝拍立淘按图搜索API接口,json数据示例参考
  • Java中用Stream流取出分组后每组中最大值对应的对象
  • ubuntu开启黑屏现象解决
  • Linux上位机开发实践(从MPP平台到产品)
  • AI大模型从0到1记录学习 day10
  • SvelteKit 最新中文文档教程(16)—— Service workers
  • 【Unity】记录TMPro使用过程踩的一些坑
  • SpringBoot整合LogStash,LogStash采集服务器日志
  • vue 4 组件通信
  • C语言字符串处理相关函数详解
  • T11 TensorFlow入门实战——优化器对比实验
  • NE 综合实验3:基于 IP 配置、链路聚合、VLAN 管理、路由协议及安全认证的企业网络互联与外网访问技术实现(H3C)
  • Spring Data JPA方法命名规则的完整总结,按场景分类整理
  • 解决在pycharm下载的python在cmd命令行无法识别的问题
  • 蓝桥杯最后十天冲刺day 1
  • mysql表连接方式
  • MSYS2学习笔记
  • Unity 2022.3.x部分Android设备播放视频黑屏问题
  • 华为三进制逻辑与高维量子计算的对比分析