params传参处理
params传参处理
一、 路由传参分为params传参与query传参
- params传参类似于网络请求中的post请求,params传过去的参数不会显示在地址栏中,但是不能刷新,params只能配合name使用,如果提供了path,params会失效。
- query 传参类似于网络请求中的 get 请求,query 传过去的参数会拼接在地址栏中(?name=xx)。query 较为灵活既可以配合 path 使用,也能配合 name 使用。
二、如果是get请求且传参为params类型,需要将params转换成能拼接在浏览器地址栏的形式
//如果是get请求且传params类型参数
if(config.method==='get' && config.params){//将params参数转换后拼接到url后面let url = config.url + transParams(config.params)//截取有效urlurl = url.slice(0,-1)config.params = {}config.url = url
}
export function transParams(params){let result = ''//遍历params数组对象,propName为数组中的keyfor (const propName of Object.keys(params)) {//获取valueconst value = params[propName];//转码,类似https%3A%2F%2Fwww.runoob.com%2Fmy%20test.php%3Fname%3Dst%C3%A5le%26car%3Dsaablet part = encodeURIComponent(propName) + "=";if (value !== null && value !== "" && typeof (value) !== "undefined") {//如果value是object对象,需要向内再遍历if (typeof value === 'object') {for (const key of Object.keys(value)) {if (value[key] !== null && value[key] !== "" && typeof (value[key]) !== 'undefined') {let params = propName + '[' + key + ']';let subPart = encodeURIComponent(params) + "=";result += subPart + encodeURIComponent(value[key]) + "&";}}} else {//拼接result += part + encodeURIComponent(value) + "&";}}}return result
}
params传参处理相关推荐
- ajax 与route的区别,浅析vue-router jquery和params传参(接收参数)$router $route的区别
今天做项目时踩到了vue-router传参的坑(jquery和params),所以决定总结一下二者的区别. 1.jquery方式传参和接收参数 传参: this.$router.push({ path ...
- @query传参_vue-router中params传参和query传参的区别及处理方法
在 Vue 实例内部,你可以通过 $router 访问路由实例.因此你可以调用 this.$router.push 想要导航到不同的 URL,则使用 router.push 方法.这个方法会向 his ...
- @query传参_前端框架vue中query和params传参
注意(用params传参,F5强制刷新参数会被清空,用query,由于参数适用路径传参的所以F5强制刷新也不会被清空.(传参强烈建议适用string)) 也可以选用sessionstorage/loc ...
- vue动态路由传参---query传参和params传参
当一个页面跳转到另一个页面时,组件结构相同,只是内容不同且地址栏后缀不同 ,这个地址栏的后缀就是参数,根据不同参数渲染不同的内容,这个跳转就叫路由传参. 当项目中组件间通过路由跳转,有时,我们需要传递 ...
- query和params传参区别
query和params传参区别 传参可以使用params和query两种方式 params传参只能用name来引入路由 query传递显示参数(url那里),params传递不显示参数,参数在请求体 ...
- query和params传参的区别
一.query和params传参的区别 1.query传递显示参数,params传递不显示参数,params相对于query来说较安全一点 取值方法也有不同 1.query取值:this.route. ...
- Vue Router不要再使用params传参了,params获取不到参数,官方删除params传参
问题描述 之前说过,vue路由传参有两种方式,分别是query和params:query是明文,params是隐藏的: 今天在使用params的时候发现获取不到参数了 我的写法: 1. 路由配置: { ...
- vue使用params传参
1.先定义,你需要传递几个参数就定义几个,如图: 2.传参: this.$router.push('地址'+参数); 3.在新页面获取传递过来的参数: 这里获取的时候,要注意,你在定义里面定义的什么, ...
- vue路由传参 params传参不能传对象
不能传对象,传对象的时候,刷新完数据会丢失 传递的是一个对象 但是: 跳转以后,刷新页面,数据会丢失,所以说不能传对象,会有问题
最新文章
- 当同时安装Python2和Python3后,如何兼容并切换使用详解(比如pip使用)
- 云桌面 瘦终端_小米盒子连接Citrix云桌面
- 前端学习(558):margin重叠
- Embree:照片级光线追踪内核
- Memcached的Web管理工具MemAdmin(待实践)
- 【无广告】一位算法工程师从30+场秋招面试中总结出的超强面经——目标检测篇...
- html 自动关机程序,Windows 自动关机/定时关机 命令 shuntdown
- A1089. 阶乘计算
- IDEA用maven创建springMVC项目和配置(XML配置和Java配置)
- 度度熊的午饭时光[2017百度之星资格赛 1004]
- 数据结构 | 哈希表与哈希冲突的解决(一)
- win10设置计算机关机时间,教你windows10电脑怎么设置定时关机
- zblog怎么定位html代码,zblog模板修改常用调用标签代码
- html 防网页假死,htmlweb开发:防止浏览器假死的方法.doc
- 重要的xcel文件e报表丢了如何恢复呢
- Java基础学习笔记:补充内容1 计算机字符编码
- 强迫症的 LaTeX 学习笔记
- 海数所观点:618电商直播狂欢下 为何商家却频频亏损
- 阻碍NFT进一步发展的绊脚石都有哪些?从6个方面切入分析
- 深度学习笔记----三维卷积及其应用(3DCNN,PointNet,3D U-Net)