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: ...
随机推荐
- jwt 学习笔记
概述 JWT,Java Web Token,通过 JSON 形式作为 Web 应用中的令牌,用于在各方之间安全地将信息作为 JSON 对象传输,在数据传输过程中还可以完成数据加密.签名等相关处理 JW ...
- GO实现Redis:GO实现Redis的AOF持久化(4)
将用户发来的指令以RESP协议的形式存储在本地的AOF文件,重启Redis后执行此文件恢复数据 https://github.com/csgopher/go-redis 本文涉及以下文件: redis ...
- Flask快速入门day 01(flask介绍、快速使用、配置文件、路由系统)
目录 Flask框架 前言: 一.flask介绍 1.介绍 2.使用两种协议编写web 二.flask快速使用 1.快速使用: 2.使用flask编写登录小案例 2.1 login.html 2.2 ...
- 部署kubernetes官网博客
部署kubernetes官网博客 访问 https://kubernetes.io/ 有些时候不问题,部署离线内网使用官网以及博客, 各位尝鲜可以访问 https://doc.oiox.cn/ 安装d ...
- Spring注解系列——@PropertySource
在Spring框架中@PropertySource注解是非常常用的一个注解,其主要作用是将外部化配置解析成key-value键值对"存入"Spring容器的Environment环 ...
- 数据泵:impdp导入用户ORA-01653
,问题描述:在导入一个用户数据的时候,大小为14G左右,导进来的时候卡半天,后来发现是表空间满了,已经恢复了大概6G左右,剩下8G左右没有恢复.此时磁盘剩余19G,加了15G的表空间,磁盘就剩下4G左 ...
- 开心档之MySQL 序列使用
MySQL 序列使用 MySQL 序列是一组整数:1, 2, 3, ...,由于一张数据表只能有一个字段自增主键, 如果你想实现其他字段也实现自动增加,就可以使用MySQL序列来实现. 本章我们将 ...
- extend笔记
JavaScript面向对象 继承extend 1. 概念(主要用途) 将子类中的共性代码 ( 属性和方法 ) 抽取出来 放到父类中 每当有一个新的子类需要用到共性的属性或者方法时 不需要在自己内容复 ...
- Claude:除ChatGPT外的另一种选择
前言 Claude 是 Anthropic 开发的人工智能产品.Anthropic 是由 11 名前 OpenAI 员工于 2022 年创立的人工智能公司,旨在构建安全.可解释和有益于人类的人工智能系 ...
- 沁恒 CH32V208(三): CH32V208 Ubuntu22.04 Makefile VSCode环境配置
目录 沁恒 CH32V208(一): CH32V208WBU6 评估板上手报告和Win10环境配置 沁恒 CH32V208(二): CH32V208的储存结构, 启动模式和时钟 沁恒 CH32V208 ...