详解vue-router传参的两种方式


Posted in Javascript onSeptember 10, 2018

Vue Router 是 Vue.js 官方的路由管理器。它和 Vue.js 的核心深度集成,让构建单页面应用变得易如反掌。包含的功能有:

  1. 嵌套的路由/视图表
  2. 模块化的、基于组件的路由配置
  3. 路由参数、查询、通配符
  4. 基于 Vue.js 过渡系统的视图过渡效果
  5. 细粒度的导航控制
  6. 带有自动激活的 CSS class 的链接
  7. HTML5 历史模式或 hash 模式,在 IE9 中自动降级
  8. 自定义的滚动条行为

vue-router传参两种方式:params和query

params、query是什么?

    params:/router1/:id ,/router1/123,/router1/789 ,这里的id叫做params
     query:/router1?id=123 ,/router1?id=456 ,这里的id叫做query。

方法1:

    query 方式传参和接收参数

    传参:      

this.$router.push({
       path:'/openAccount',
       query:{id:id}
     });

     接收参数:

        this.$route.query.id

     注意:传参是this.$router,接收参数是this.$route
     两者区别:

        $router为VueRouter实例,想要导航到不同URL,则使用$router.push方法

        $route为当前router跳转对象,里面可以获取name、path、query、params等

方法2:

    params方式传参和接收参数

    传参:

this.$router.push({
       name:'/openAccount',
       params:{
         id: id
       }
     })

    接收参数: this.$route.params.id

    注意:params传参,push里面只能是 name:'xxxx',不能是path:'/xxx',因为params只能用name来引入路由,如果这里写成了path,接收参数页面会是undefined!!!

    二者还有点区别,可以理解为:query相当于get请求,页面跳转的时候,可以在地址栏看到请求参数,而params相当于post请求,参数不会再地址栏中显示

router.js

export default new Router({
 routes: [
  {
   path: '/',
   name: 'login',
   component: Login
  },
  {
   path: '/register',
   name: 'register',
   component: Register
  }
})

组件(传参):

<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: 'register', params: { userId: 123 }});//params方式 这里的name值是在定义route.js时中的name
   //this.$router.push({ path: '/register', query: { userId: 123 }});  //query方式 
  }
 }
}
</script>
<style>
</style>

组件(接收参数)

<template>
 <div>
  {{this.$route.params.userId}}或者{{this.$route.params.userId}}
 </div>
</template>
<script>
</script>

总结

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

Javascript 相关文章推荐
教你如何在 Javascript 文件里使用 .Net MVC Razor 语法
Jul 23 Javascript
JQuery中serialize()、serializeArray()和param()方法示例介绍
Jul 31 Javascript
BOOTSTRAP时间控件显示在模态框下面的bug修复
Feb 05 Javascript
百度地图api如何使用
Aug 03 Javascript
jquery对象和DOM对象的任意相互转换
Feb 21 Javascript
基于javascript数组实现图片轮播
May 02 Javascript
js验证真实姓名与身份证号,手机号的简单实例
Jul 18 Javascript
微信小程序 textarea 组件详解及简单实例
Jan 10 Javascript
微信小程序 ES6Promise.all批量上传文件实现代码
Apr 14 Javascript
使用Bootstrap打造特色进度条效果
May 02 Javascript
详解AngularJS1.6版本中ui-router路由中/#!/的解决方法
May 22 Javascript
vue组件之Alert的实现代码
Oct 17 Javascript
详解Vue.js使用Swiper.js在iOS
Sep 10 #Javascript
webuploader分片上传的实现代码(前后端分离)
Sep 10 #Javascript
在Vue 中使用Typescript的示例代码
Sep 10 #Javascript
ES6使用export和import实现模块化的方法
Sep 10 #Javascript
Vuejs 实现简易 todoList 功能 与 组件实例代码
Sep 10 #Javascript
浅谈微信小程序flex布局基础
Sep 10 #Javascript
微信小程序文章详情页面实现代码
Sep 10 #Javascript
You might like
第九节--绑定
2006/11/16 PHP
深入解析phpCB批量转换的代码示例
2013/06/27 PHP
免费的ip数据库淘宝IP地址库简介和PHP调用实例
2014/04/08 PHP
PHP实现的简单网络硬盘
2015/07/29 PHP
php实现无限级分类(递归方法)
2015/08/06 PHP
Laravel 5.2 文档 数据库 ―― 起步介绍
2019/10/21 PHP
tp5框架的增删改查操作示例
2019/10/31 PHP
javascript flash下fromCharCode和charCodeAt方法使用说明
2008/01/12 Javascript
javaScript Array(数组)相关方法简述
2009/07/25 Javascript
JavaScript 计算图片加载数量的代码
2011/01/01 Javascript
JS清空多文本框、文本域示例代码
2014/02/24 Javascript
jQuery实现的放大镜效果示例
2016/09/13 Javascript
微信小程序开发实战教程之手势解锁
2016/11/18 Javascript
Bootstarp基本模版学习教程
2017/02/01 Javascript
jquery dataTable 后台加载数据并分页实例代码
2017/06/07 jQuery
Vue+mui实现图片的本地缓存示例代码
2018/05/24 Javascript
vue 中的 render 函数作用详解
2020/02/28 Javascript
[52:37]完美世界DOTA2联赛循环赛 Forest vs DM BO2第一场 10.29
2020/10/29 DOTA
python ansible服务及剧本编写
2017/12/29 Python
Python3.5面向对象与继承图文实例详解
2019/04/24 Python
python 按钮点击关闭窗口的实现
2020/03/04 Python
Python自动化测试笔试面试题精选
2020/03/12 Python
pandas数据处理之绘图的实现
2020/06/15 Python
2021年的Python 时间轴和即将推出的功能详解
2020/07/27 Python
Python调用飞书发送消息的示例
2020/11/10 Python
英国鞋网:Rubber Sole
2020/03/03 全球购物
大学生职业生涯规划范文
2013/12/31 职场文书
交通运输局四风问题对照检查材料思想汇报
2014/10/09 职场文书
正风肃纪剖析材料范文
2014/10/10 职场文书
导游词之铁岭象牙山
2019/12/06 职场文书
为了顺利买到演唱会的票用Python制作了自动抢票的脚本
2021/10/16 Python
JavaScript 事件捕获冒泡与捕获详情
2021/11/11 Javascript
详解nginx安装过程并代理下载服务器文件
2022/02/12 Servers
什么是Python装饰器?如何定义和使用?
2022/04/11 Python
详解CSS中postion和opacity及cursor的特性
2022/08/14 HTML / CSS
微信小程序纯CSS实现无限弹幕滚动效果
2022/09/23 HTML / CSS