首页IT科技uniapp常见的路由与页面跳转api(uniapp之路由中携带参数跳转)

uniapp常见的路由与页面跳转api(uniapp之路由中携带参数跳转)

时间2025-08-05 09:05:50分类IT科技浏览4821
导读:目录...

目录

前言

一 路由跳转方式

1. 直接在 template中定义

2.直接在methods中定义

 二 携带参数

1.在template中定义

2.在methods里定义 

 3.+ 拼接

4.报错

前言

在我们写 uniapp 小程序时              ,时常遇到的就是路由携带参数进行跳转                    ,这项功能似乎已成家常便饭一样      ,总是能遇到          ,虽说官网里面有吧                     ,但这边呢         ,我还是决定写篇文章记录总结下      ,以便时间长了忘记了            。先分析路由跳转的几种方式                     ,在介绍怎么携带吧

话不多说            ,直接开干

一 路由跳转方式

1. 直接在 template中定义

直接在绑定事件后面携带自己要跳转的路径

<view class="content-item" @click="goplateNum(/subpkg/myAllList/plateNum)"></view> methods中 goplateNum(url) { uni.navigateTo({ url: url }) },

2.直接在methods中定义

在methods中URL 定义跳转路径

<view class="content-item" @click="goBalance"> </view> methods goBalance() { uni.navigateTo({ url: /subpkg/myAllList/balance }) },

怎么说   ,一个是作为参数                     ,另一个直接使用               ,这两种都可以实现                    。看自己喜欢就写哪种吧,两个都写也可以                   ,既然路由跳转也这两种                   ,那么携带参数的话   ,也对应上面的介绍

 二 携带参数

1.在template中定义

实话实说              ,第一种我不曾用过                    ,因为携带参数跳转有时要传递很多数据      ,那肯定是要使用(encodeURIComponent)对参数进行编码          ,这样就会显得template代码用起来有点过多                     ,我不太喜欢        。至于这个方法         ,我是在官网里看到的      ,

就是直接在

<view class="content-item" @click="goplateNum(/subpkg/myAllList/plateNum)"></view>

item的话是 前面 v-for循环 数组中的item项 

/subpkg/myAllList/plateNum?item=${encodeURIComponent(JSON.stringify(item))

接收的话                     ,是需要的页面的onload里面定义 

onLoad(option) { // 接收传递的参数 const item = JSON.parse(decodeURIComponent(option.item)); console.log(上一个页面传递过来的参数, item); }

2.在methods里定义 

<view @click="GoService(item)">{{item.stationName}}</view> methods中定义 GoService(item) { uni.navigateTo({ url: `/subpkg/service/service?item=${encodeURIComponent(JSON.stringify(item))}` }) },

 3.+ 拼接

let items = encodeURIComponent(JSON.stringify(index));         console.log(items)         uni.navigateTo({             url: ../AddAddress/index?itemlist= + items,         }) 接收页面 onLoad(e) {      console.log(e)      let obj = e.itemlist.replace("\"([^\"]*)\"", "$1");      this.list = JSON.parse(obj)      console.log(this.list)   },

4.会报 在位置0的JSON中意外的令牌u

“SyntaxError: Unexpected token u in JSON at  position 0              ” 

翻译过来就是 “SyntaxError:在位置0的JSON中意外的令牌u                    ”

解决办法

在接收参数的那个页面里

const connectorList = JSON.parse(decodeURIComponent(option.connectorList ? option.connectorList : {}));

写个 三元表达式

参数 ? 参数 : ‘{ }’   最后的 { } 可以改为 【 】

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
php验证码实现原理(phpcms显示验证码出错怎么办?) vue做地图(记录–使用Lunchbox 在 vue3 中创建一个 3D 地球)