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 相关文章推荐
jQuery插件bxSlider实现响应式焦点图
Apr 12 Javascript
js倒计时简单实现方法
Dec 17 Javascript
js点击按钮实现带遮罩层的弹出视频效果
Dec 19 Javascript
作为老司机使用 React 总结的 11 个经验教训
Apr 08 Javascript
详解vue-cli中模拟数据的两种方法
Jul 03 Javascript
微信小程序实现左滑修改、删除功能
Oct 19 Javascript
JS函数节流和防抖之间的区分和实现详解
Jan 11 Javascript
JavaScript遍历数组的三种方法map、forEach与filter实例详解
Feb 27 Javascript
微信小程序实现收货地址左滑删除
Nov 18 Javascript
JS实现简单随机3D骰子
Oct 24 Javascript
Jquery异步上传文件代码实例
Nov 13 jQuery
使用compose函数优化代码提高可读性及扩展性
Jun 16 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
Terran兵种对照表
2020/03/14 星际争霸
php基础知识:函数基础知识
2006/12/13 PHP
php 代码优化之经典示例
2011/03/24 PHP
PHP实现限制IP访问的方法
2017/04/20 PHP
Thinkphp5框架简单实现钩子(Hook)行为的方法示例
2019/09/03 PHP
php连接mysql数据库最简单的实现方法
2019/09/24 PHP
用倒置滤镜把div倒置,再把table倒置。
2007/07/31 Javascript
关于 byval 与 byref 的区别分析总结
2007/10/08 Javascript
js 实现打印网页中定义的部分内容的代码
2010/04/01 Javascript
对frameset、frame、iframe的js操作示例代码
2013/08/16 Javascript
javascript实现促销倒计时+fixed固定在底部
2013/09/18 Javascript
JS 屏蔽键盘不可用与鼠标右键不可用的方法
2013/11/18 Javascript
JS 拼凑字符串的简单实例
2016/09/02 Javascript
jQuery查找节点方法完整实例
2016/09/13 Javascript
浅谈VUE单页应用首屏加载速度优化方案
2018/08/28 Javascript
vue自定义指令directive的使用方法
2019/04/07 Javascript
layui prompt 设置允许空白提交的方法
2019/09/24 Javascript
微信小程序实现多选框全选与反全选及购物车中删除选中的商品功能
2019/12/17 Javascript
原生JS实现记忆翻牌游戏
2020/07/31 Javascript
vue 使用post/get 下载导出文件操作
2020/08/07 Javascript
解决VueCil代理本地proxytable无效报错404的问题
2020/11/07 Javascript
Python实现遍历windows所有窗口并输出窗口标题的方法
2015/03/13 Python
python 二分查找和快速排序实例详解
2017/10/13 Python
python实现点对点聊天程序
2018/07/28 Python
Python将字符串常量转化为变量方法总结
2019/03/17 Python
python3 图片 4通道转成3通道 1通道转成3通道 图片压缩实例
2019/12/03 Python
浅析Python 字符编码与文件处理
2020/09/24 Python
struct和class的区别
2015/11/20 面试题
卫生安全检查制度
2014/02/04 职场文书
继承公证书样本
2014/04/04 职场文书
2014县委书记党的群众路线教育实践活动对照检查材料思想汇报
2014/09/22 职场文书
2014年大学生社会实践自我鉴定
2014/09/26 职场文书
2014年药店工作总结
2014/11/20 职场文书
2014年房地产销售工作总结
2014/12/01 职场文书
护士旷工检讨书
2015/08/15 职场文书
2016年三八节红领巾广播稿
2015/12/17 职场文书