uniapp在集成uni-simple-router遇到的几个问题

uniapp开发中遇到几个问题,这里记录下。
前提:使用uni-simple-router作为路由,uvie作为ui框架

1、uniapp官网给出了以下两种路由传参的方式
不编码传输

//实例化
const router = new Router({
  encodeURI:false,  
  routes:[
    //...一些路由信息
  ]
});

// 假如你是通过name 来进行跳转。
this.$Router.push({ name: 'router1', params: { userId: '123' }})
// 同样 等同于
this.$Router.push({ path: '/pages/router/router1/router1', query: { userId: '123' }})

// 获取方式
this.$Route.query.userId;

//URL 表现
http://xxxx/router1?userId=123

编码传输

//实例化
const router = new Router({
  encodeURI:true,  //默认为true
  routes:[
    //...一些路由信息
  ]
});

// 假如你是通过name 来进行跳转。
this.$Router.push({ name: 'router1', params: { userId: '123' }})
// 同样 等同于
this.$Router.push({ path: '/pages/router/router1/router1', query: { userId: '123' }})

// 获取方式
this.$Route.query.userId;

//URL 表现
http://xxxx/router1?query=%257B%2522userId%2522%253A%2522123%2522%257D

我使用第一种方式,只要一刷新参数就没了,使用第二种没有问题?

2、第二个问题是建立在第一个问题的基础上的,在使用第一种不编码传输的时候,由于遇到了刷新丢失参数的问题,在打印this.$Router对象的时候,找到了一个参数
路由配置
在这里插入图片描述
参数位置
在这里插入图片描述
最后通过

 this.$Router.$route.history.current.params.id;

获得到了路径后面的参数,但是不知道这个方法可不可行?

微信公众号搜索:cdgeek 项目分享,项目交流都可以一起探讨哦
官网地址:www.mksoft.cn
项目交流,项目合作。诚心找有志同道合的小伙伴们,有项目的也可以一起分享哦

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值