vue-router传递参数的几种方式实例详解


Posted in Javascript onNovember 13, 2018

vue-router传递参数分为两大类

  • 编程式的导航 router.push
  • 声明式的导航 <router-link>

编程式的导航 router.push

编程式导航传递参数有两种类型:字符串、对象。

字符串

字符串的方式是直接将路由地址以字符串的方式来跳转,这种方式很简单但是不能传递参数:

this.$router.push("home");

对象

想要传递参数主要就是以对象的方式来写,分为两种方式:命名路由、查询参数,下面分别说明两种方式的用法和注意事项。

命名路由

命名路由的前提就是在注册路由的地方需要给路由命名如:

vue-router传递参数的几种方式实例详解

命名路由传递参数需要使用params来传递,这里一定要注意使用params不是query。

目标页面接收传递参数时使用params

特别注意:命名路由这种方式传递的参数,如果在目标页面刷新是会出错的

使用方法如下:

this.$router.push({ name: 'news', params: { userId: 123 }})

代码如下:

<template>
 <div class="hello">
  <h1>{{ msg }}</h1>
  <button @click="routerTo">click here to news page</button>
 </div>
</template>

<script>
export default {
 name: 'HelloWorld',
 data () {
  return {
   msg: 'Welcome to Your Vue.js App'
  }
 },
 methods:{
  routerTo(){
   this.$router.push({ name: 'news', params: { userId: 123 }});
  }
 }
}
</script>

<style>
</style>接受传递的参数:<template>
 <div>
  this is the news page.the transform param is {{this.$route.params.userId}}
 </div>
</template>
<script>
</script>

运行效果如下:

vue-router传递参数的几种方式实例详解

查询参数

查询参数其实就是在路由地址后面带上参数和传统的url参数一致的,传递参数使用query而且必须配合path来传递参数而不能用name,目标页面接收传递的参数使用query。

注意:和name配对的是params,和path配对的是query

使用方法如下:

this.$router.push({ path: '/news', query: { userId: 123 }});代码如下:<template>
 <div class="hello">
  <h1>{{ msg }}</h1>
  <button @click="routerTo">click here to news page</button>
 </div>
</template>

<script>
export default {
 name: 'HelloWorld',
 data () {
  return {
   msg: 'Welcome to Your Vue.js App'
  }
 },
 methods:{
  routerTo(){
   this.$router.push({ path: '/news', query: { userId: 123 }});
  }
 }
}
</script>

<style>
</style>接收参数如下:<template>
 <div>
  this is the news page.the transform param is {{this.$route.query.userId}}
 </div>
</template>
<script>
</script>

运行效果如下:

vue-router传递参数的几种方式实例详解

声明式的导航

声明式的导航和编程式的一样,这里就不在过多介绍,给几个例子大家对照编程式理解,

例子如下:

字符串

<router-link to="news">click to news page</router-link>

命名路由

<router-link :to="{ name: 'news', params: { userId: 1111}}">click to news page</router-link>

运行效果如下:

vue-router传递参数的几种方式实例详解

查询参数

<router-link :to="{ path: '/news', query: { userId: 1111}}">click to news page</router-link>

运行效果如下:

vue-router传递参数的几种方式实例详解

最后总结:

路由传递参数和传统传递参数是一样的,命名路由类似表单提交而查询就是url传递,在vue项目中基本上掌握了这两种传递参数就能应付大部分应用了,最后总结为以下两点:

1.命名路由搭配params,刷新页面参数会丢失

2.查询参数搭配query,刷新页面数据不会丢失

3.接受参数使用this.$router后面就是搭配路由的名称就能获取到参数的值

总结

以上所述是小编给大家介绍的vue-router传递参数的几种方式实例详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
JS的递增/递减运算符和带操作的赋值运算符的等价式
Dec 08 Javascript
innerHTML与jquery里的html()区别介绍
Oct 12 Javascript
JS版元素周期表实现方法
Aug 05 Javascript
JS实现无限级网页折叠菜单(类似树形菜单)效果代码
Sep 17 Javascript
全面了解javascript三元运算符
Jun 27 Javascript
使用vue.js写一个tab选项卡效果
Mar 25 Javascript
动态加载JavaScript文件的3种方式
May 05 Javascript
详解在React中跨组件分发状态的三种方法
Aug 09 Javascript
vue-cli2打包前和打包后的css前缀不一致的问题解决
Aug 24 Javascript
jQuery实现为动态添加的元素绑定事件实例分析
Sep 07 jQuery
JS/HTML5游戏常用算法之路径搜索算法 随机迷宫算法详解【普里姆算法】
Dec 13 Javascript
JS document文档的简单操作完整示例
Jan 13 Javascript
vue-router的使用方法及含参数的配置方法
Nov 13 #Javascript
webpack 从指定入口文件中提取公共文件的方法
Nov 13 #Javascript
详解Vue实战指南之依赖注入(provide/inject)
Nov 13 #Javascript
node.js爬取中关村的在线电瓶车信息
Nov 13 #Javascript
详解Vue SSR( Vue2 + Koa2 + Webpack4)配置指南
Nov 13 #Javascript
详解Vue组件插槽的使用以及调用组件内的方法
Nov 13 #Javascript
Vue实现一个无限加载列表功能
Nov 13 #Javascript
You might like
雄兵连:天使彦天使彦为爱折翼,彦和炙心同时念动的誓言!
2020/03/02 国漫
mcrypt启用 加密以及解密过程详细解析
2013/08/07 PHP
神盾加密解密教程(二)PHP 神盾解密
2014/06/08 PHP
php的ddos攻击解决方法
2015/01/08 PHP
php生成不重复随机数、数组的4种方法分享
2015/03/30 PHP
PHP中的print_r 与 var_dump 输出数组
2016/06/13 PHP
PHP面向对象自动加载机制原理与用法分析
2016/10/14 PHP
JavaScript操作XML文件之XML读取方法
2015/06/09 Javascript
JS实现的仿东京商城菜单、仿Win右键菜单及仿淘宝TAB特效合集
2015/09/28 Javascript
开启Javascript中apply、call、bind的用法之旅模式
2015/10/28 Javascript
js实现适合新闻类图片的轮播效果
2017/02/05 Javascript
js读取本地文件的实例
2017/12/22 Javascript
ajax请求+vue.js渲染+页面加载的示例
2018/02/11 Javascript
vue组件中使用props传递数据的实例详解
2018/04/08 Javascript
原生js实现密码强度验证功能
2020/03/18 Javascript
jQuery 选择方法及$(this)用法实例分析
2020/05/19 jQuery
python发送邮件的实例代码(支持html、图片、附件)
2013/03/04 Python
python处理csv数据的方法
2015/03/11 Python
Python使用正则表达式抓取网页图片的方法示例
2017/04/21 Python
开源软件包和环境管理系统Anaconda的安装使用
2017/09/04 Python
python生成带有表格的图片实例
2019/02/03 Python
pytorch 获取层权重,对特定层注入hook, 提取中间层输出的方法
2019/08/17 Python
python GUI库图形界面开发之PyQt5动态加载QSS样式文件
2020/02/25 Python
Anconda环境下Vscode安装Python的方法详解
2020/03/29 Python
一篇文章搞懂python的转义字符及用法
2020/09/03 Python
基于HTML5 Canvas的3D动态Chart图表的示例
2017/11/02 HTML / CSS
美国面料纺织品商城:Fabric.com
2017/06/28 全球购物
丝芙兰香港官网:Sephora香港
2018/03/13 全球购物
Nanushka官网:匈牙利服装品牌
2019/08/14 全球购物
印度领先的眼镜电子商务网站:Lenskart
2019/12/16 全球购物
如何掌握自荐信格式呢
2013/11/19 职场文书
爱国演讲稿400字
2014/05/07 职场文书
八项规定整改方案
2014/10/01 职场文书
上班迟到检讨书300字
2014/10/18 职场文书
试用期自我评价范文
2015/03/10 职场文书
2016五一手机促销广告语
2016/01/28 职场文书