vue中params与query区别
关于vue-router 中参数传递的那些坑(params,query)
vue-router传递参数分为两大类:
- 编程式的导航 router.push
- 声明式的导航
**query和params的区别,query相当于get请求,在页面跳转的时候,可以在地址栏看到请求参数,然而params则相当于post请求,参数不会在地址栏中显示,但是刷新页面之后参数会消失,可以使用localStorage进行存储。**代码如下:
if(this.$route.params.userId){this.value = this.$route.params.userId;localStorage.setItem('content',this.$route.params.userId)
}else{this.value = localStorage.getItem('content')console.log(this.value)
}
很多人都说query传参要用path来引入,params传参要用name来引入,确实是这样,不过只针对router-link方法,具体看代码
<router-link :to="{path:'/about/shopList',query:{userId:123}}">吃火锅
</router-link>
<router-link :to="{name:'shopList',params:{userId:456}}">吃羊蝎子
</router-link>他们同样都跳转到shopList页面,通过this.$route.params.userId和this.$route.query.userId都获取到了参数
如果将代码换成如下:<router-link :to="{path:'/about/shopList',params:{userId:123}}">吃火锅
</router-link>
<router-link :to="{name:'shopList',query:{userId:456}}">吃羊蝎子
</router-link>
同样跳到shopList页面,却拿不到参数userId。。。
router.push并不是如此,直接上代码
1.this.$router.push({name: 'shopList',params:{userId: 666}
})
2.this.$router.push({name: 'shopList',query:{userId: 666}
})
不仅name和params传递的参数有效,而且name和query传递的参数也是有效的。3.this.$router.push({path:'/about/shopList',query:{userId: 666}
})path和query传递参数,在shopList页面可以===接收到参数===
4.this.$router.push({path:'/about/shopList',params:{userId: 666}
})path和params传递参数,在shopList页面====接收不到参数====
以上代码亲测有效,大佬们不喜勿喷。
vue中params与query区别相关推荐
- vue中params和query的区别,以及具体用法
query传递参数会在url后面用?连接起来,且参数之间用&&符号连接然后显示在页面的url中:params传递参数不会显示在页面中:query有点像ajax中的get请求,而para ...
- Vue路由params、query参数丢失解决
在vue中路由传参有两种形式:1.params:2.query 解决办法:sessionStorage或者localStorage 两者的区别:localStorage是永久保存不清除一直存在,ses ...
- Vue 中data 和 data() 区别
Vue 中data 和 data() {return {};}区别 一般简单Vue实例(常见教程视频中) new Vue({el: "#id",data: {message: &q ...
- vue中v-model和v-bind区别
Vue中的数据绑定有三种方式 插值:也就是{{name}}的形式,以文本的形式和实例data中对应的属性进行绑定 v-bind v-model v-model 主要是用在表单元素中,它实现了双向绑定. ...
- js中for(const i in/of arr/obj)和vue中v-for指令的区别
在js中 var obj = {q:'qqq',w:'www',e:'eee'}var arr1 = [{r:'rrr'},{t:'ttt'},{y:'yyy'}]var arr2 = ['uuu', ...
- 【原】vue-router中params和query的区别
1.引入方式不同 query要用path来引入 this.$router.push({path: 'test',query: {type: 2,detail: '哈哈'} }) params要用nam ...
- Vue 中computed 与 methods 区别
1.示例 <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF- ...
- Vue中methods与computed区别
核心区别 computed是属性访问,method是函数调用 computed带有缓存功能,method没有 实例: <script>Vue.createApp({data() {retu ...
- Vue中 watch 和 computed 区别和使用场景
在 vue 的项目中,经常用到 watch 和 computed 这两个属性.两个都是数值改变触发改变的属性,他们之间有什么区别? 1.区别 Computed: computed: 是计算属性,依赖其 ...
最新文章
- 重写了博客上的代码着色脚本
- python自动化办公兼职-python自动化办公?学这些就够用了
- 滴滴KDD2017论文:基于组合优化的出租车分单模型 By 机器之心2017年8月14日 10:29 数据挖掘顶会 KDD 2017 已经开幕,国内有众多来自产业界的论文被 KDD 2017 接收。
- 为什么Nginx性能比Apache高
- utxo模型_什么是UTXO?简析账户/余额模型和UTXO模型
- c语言第一个mfc程序,c语言之MFC的进程和线程
- VS2005中,access对只读目录的属性判断不准确
- 防火墙和路由器的滑铁卢:NAT Slipstreaming攻击
- 算术的c语言程序设计,C 程序设计:变量与算术表达式
- PyCharm 2019.3 EAP 7 发布,支持 R 语言插件
- ES6新特性_ES6语法糖-class的类继承---JavaScript_ECMAScript_ES6-ES11新特性工作笔记036
- 2.3.2 EditText(输入框)详解
- 还不知道spring的RestTemplate的妙用吗
- 从物联网到元宇宙 PPT
- c语言编译器 mini,Mini C编译器的设计与实现.ppt
- 计算机设备名称设备型号含义,设备名称品牌型号资料.doc
- 3ds max基础知识
- 中文文本分析(matplotlib的库的应用)
- js常用的正则匹配(一般不用修改)
- Unity3D 光照系统(一)
热门文章
- PRML 02 Introduction:贝叶斯概率
- css3 flex的IE8浏览器兼容问题
- Unity之动画系统的学习(一):场景动画
- 拼多多 标题 html,拼多多商家运营时如何绑定关联第三方店铺展示总销量的技巧教程...
- Themeleaf + checkbox + Mybatis 实现批量删除
- FineUI开源版之TreeGrid(修改)
- protostuff 工具类
- 学计算机可以买轻薄本吗,2021大学生买电脑,容易犯的七种错误!游戏本和轻薄本买哪个?...
- 小视频短视频短剧爽据API采集接口
- python微信小程序爬虫_Python爬取微信小程序实战(通用)