VUE路由传参的实用方式
本文讲解了VUE项目中路由之间的传值方式,涉及到的方法都是开发时常用的,希望对大家有多帮助。
1. 方式一:使用router-link标签
1.1 params 传参
- 首先定义好路由
const routes = [
{ path : ‘/home’ , component : () => import(‘/../views/home.vue’) } ,
{ path : ‘/about/:id’ , name : ’about’ , component: () => import(‘/../views/about.vue’) }
] - 在需要跳转的home组件中使用 router-link 标签
<router-link :to=”{ name : ’about’ , params : { id : 1} }”>跳转</router-link> - 在跳转到的about组件中拿到传过来的值
this.$route.params.id
小结:params传参类似post,路由配置可以为 path : '/about/ : id’或 path : '/about : id’。
注意:如果不配置path的路由地址 :id ,那么第一次发起请求时可以拿到传过来的值,但是刷新之后id会消失;配置了path后刷新页面id会保留。
1.2 query传参
- 首先定义好路由
const routes = [
{ path : ‘/home’ , component : () => import(‘/../views/home.vue’) } ,
{ path : ‘/about’ , name : ’about’ , component: () => import(‘/../views/about.vue’) }
] - 在需要跳转的home组件中使用 router-link 标签
<router-link :to=”{ name : ’about’ , query: { id : 1} }”>跳转</router-link> - 在跳转到的about组件中拿到传过来的值
this.$route.query.id
小结:query传参类似于get,在url末尾会显示传过来的参数,路由地址可不配置。
注意:如果是html取参,用$route.query.id;如果是script取参,用this.$route.query.id。
总结:如果使用params传参,要在path中配置好路由地址,不然页面刷新后传过来的参数会丢失;如果使用query传参,则无需再path中配置路由地址,页面跳转后刷新也不会丢失参数。
2. 方式二:使用button按钮和点击时间@click
2.1 params 传参
- 首先定义好路由
const routes = [
{ path : ‘/home’ , component : () => import(‘/../views/home.vue’) } ,
{ path : ‘/about/:id’ , name : ’about’ , component: () => import(‘/../views/about.vue’) }
] 在需要跳转的home组件中添加一个button按钮,并增加点击事件
<button @click=”change”>跳转</button>
在change方法中使用this.$router.push进行页面跳转
change(){
this.$router.push({
name : “about” ,
params : {id : 1}
})
}在about组件中拿到传过来的值
this.$route.params.id
小结:和使用router-link标签类似,使用params就类似于post方法,需要配置好路由地址:id,才不会在刷新页面后丢失数据。
2.2 query传参
- 首先定义好路由
const routes = [
{ path : ‘/home’ , component : () => import(‘/../views/home.vue’) } ,
{ path : ‘/about’ , name : ’about’ , component: () => import(‘/../views/about.vue’) }
] 在需要跳转的home组件中添加一个button按钮,并增加点击事件
<button @click=”change”>跳转</button>
在change方法中使用this.$router.push进行页面跳转
change(){
this.$router.push({
name : “about” ,
query: {id : 1}
})
}或者:
change(){
this.$router.push({
path: “/about” ,
query: {id : 1}
})
}在about组件中拿到传过来的值
this.$route.query.id
小结:和使用router-link标签类似,使用query就类似于get方法,不需要配置好路由地址:id,刷新页面后数据也不会丢失。
总结:如果使用params传参,要在path中配置好路由地址,不然页面刷新后传过来的参数会丢失;如果使用query传参,则无需再path中配置路由地址,页面跳转后刷新也不会丢失参数。
VUE路由传参的实用方式的更多相关文章
- Vue路由传参的几种方式
原 Vue路由传参的几种方式 2018年07月28日 23:52:40 广积粮缓称王 阅读数 12613 前言:顾名思义,vue路由传参是指嵌套路由时父路由向子路由传递参数,否则操作无效.传参方式 ...
- vue路由传参的三种方式以及解决vue路由传参页面刷新参数丢失问题
最近项目中涉及到跨页面传参数和后台进行数据交互,看到需求之后第一反应就是用路由传参来解决:Vue中给我们提供了三种路由传参方式,下面我们一个一个的来看一下: 方法一:params传参: this.$r ...
- vue路由传参的几种基本方式
原文地址 this.$router.push跳转 现有如下场景,点击父组件的li元素跳转到子组件中,并携带参数,便于子组件获取数据.父组件中: <li v-for="article i ...
- vue 路由传参中刷新页面参数丢失 及传参的几种方式?
在页面跳转中,我通过路由传参,结果发现页面参数丢失了.路径返回了根目录.... 1. 先说下路由传参的几种方式吧? 比如:<div v-for="item in items" ...
- vue路由传参的三种方式区别(params,query)
最近在做一个项目涉及到列表到详情页的参数的传递,网上搜索一下路由传参,结合自己的写法找到一种适合自己的,不过也对三种写法都有了了解,在此记录一下 <ul class="table_in ...
- vue路由传参并跳转页面
在vue项目中参数的传递可以使用本地缓存或者Vuex,那么vue能不能像小程序一样路由传参呢,显然是可以的而且非常简单 方式一:query传参 //传参 go(){ that.$router.push ...
- vue路由传参页面刷新参数丢失问题解决方案
最近项目中涉及到跨页面传参数和后台进行数据交互,看到需求之后第一反应就是用路由传参来解决:Vue中给我们提供了三种路由传参方式,下面我们一个一个的来看一下: 方法一:params传参: this.$r ...
- vue路由传参及组件传参和组件方法调用
VUE路由和组件传参 第一种vue自带的路由传参的三种基本方式 1.通过name :id传参 子组件通过$route.name接收参数 { path: '/particulars/:id', name ...
- vue 路由传参
mode:路由的形式 用的哪种路由 1.hash 路由 会带#号的哈希值 默认是hash路由 2.history路由 不会带#的 单页面开发首屏加载慢怎么解决?单页面开发首屏加载白屏怎 ...
- vue路由传参刷新丢失
没有系统学习过vue,以前使用路由传参都是直接this.$router.push({name:'main',params:{'id': 123}})的,没有在路由定义中配置参数,如下: router: ...
随机推荐
- 针对im输入框的一种处理方式
针对im输入框的一种处理方式 <template> <div class="chatInput"> <!-- 通过contenteditable使普通 ...
- noopener, noreferrer 及 nofollow 的用法
<a> 标签通常会配合着使用 noopener, noreferrer 及 nofollow 这些属性, 它们的作用及用法如下. noopener 当给链接加上 target=" ...
- StampedLock:JDK1.8中新增,比ReadWriteLock还快的锁
摘要:StampedLock是一种在读取共享变量的过程中,允许后面的一个线程获取写锁对共享变量进行写操作,使用乐观读避免数据不一致的问题,并且在读多写少的高并发环境下,比ReadWriteLock更快 ...
- [Java EE]缓存技术初探
1 背景 使用场景:计算或检索一个值的代价很高,并且对同样的输入需要不止一次获取值的时候,就应当考虑使用缓存. 高并发下,为提高 频繁 查询 大量 可能常用的 数据库数据的 查询效率. 大部分情况下, ...
- 近万字总结:Java8 Stream流式处理指南
总结/朱季谦 在实际项目当中,若能熟练使用Java8 的Stream流特性进行开发,就比较容易写出简洁优雅的代码.目前市面上很多开源框架,如Mybatis- Plus.kafka Streams以及F ...
- OpenJudge 1.8编程基础之多维数组
04:错误探测 1.描述 给定n*n由0和1组成的矩阵,如果矩阵的每一行和每一列的1的数量都是偶数,则认为符合条件.你的任务就是检测矩阵是否符合条件,或者在仅改变一个矩阵元素的情况下能否符合条件.&q ...
- SSL CA 证书生成shell
gencert ssl证书生成 要保证Web浏览器到服务器的安全连接,HTTPS几乎是唯一选择.HTTPS其实就是HTTP over SSL,也就是让HTTP连接建立在SSL安全连接之上. SSL使用 ...
- yiiADU
<span style="font-size:14px;">一. //1.该方法是根据一个条件查询一个集合 $admin=Admin::model()->find ...
- 云原生2.0网关API标准发展趋势
摘要:Gateway API希望取代Ingress API. 本文分享自华为云社区<云原生2.0网关API标准发展趋势>,作者:华为云云原生团队 . 云原生网关API标准背景及发展现状 G ...
- windows查看占用端口
1. 查看占用 执行:netstat -ano 或者 netstat -aon|findstr 8080 2. 查看指定 PID 的进程 tasklist|findstr 3104 3. 结束进程 t ...