详解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 相关文章推荐
把JS与CSS写在同一个文件里的书写方法
Jun 02 Javascript
Javascript select控件操作大全(新增、修改、删除、选中、清空、判断存在等)
Dec 19 Javascript
自写简单JS判断是否已经弹出页面
Oct 20 Javascript
善用事件代理,警惕闭包的性能陷阱。
Jan 20 Javascript
关于jQuery中.attr()和.prop()的问题探讨
Sep 06 Javascript
Javascript表格翻页效果的具体实现
Oct 05 Javascript
js关于命名空间的函数实例
Feb 05 Javascript
jQuery插件zoom实现图片全屏放大弹出层特效
Apr 15 Javascript
基于jQuery实现动态搜索显示功能
May 05 Javascript
Vue2.0如何发布项目实战
Jul 27 Javascript
最简单的vue消息提示全局组件的方法
Jun 16 Javascript
JS如何实现在弹出窗口中加载页面
Dec 03 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
php 中文字符入库或显示乱码问题的解决方法
2010/04/12 PHP
PHP下常用正则表达式整理
2010/10/26 PHP
php中$_REQUEST、$_POST、$_GET的区别和联系小结
2011/11/23 PHP
PHP中绘制图像的一些函数总结
2014/11/19 PHP
php中get_cfg_var()和ini_get()的用法及区别
2015/03/04 PHP
PHP常用的三种设计模式汇总
2016/08/28 PHP
Laravel框架实现的批量删除功能示例
2019/01/16 PHP
thinkphp5.1框架中容器(Container)和门面(Facade)的实现方法分析
2019/08/05 PHP
JQuery 中几个类选择器的简单使用介绍
2013/03/14 Javascript
拖动table标题实现改变td的大小(css+js代码)
2013/04/16 Javascript
jquery中 $.expr使用实例介绍
2014/06/09 Javascript
使用jquery组件qrcode生成二维码及应用指南
2015/02/22 Javascript
解决JavaScript数字精度丢失问题的方法
2015/12/03 Javascript
html+javascript+bootstrap实现层级多选框全层全选和多选功能
2017/03/09 Javascript
将 vue 生成的 js 上传到七牛的实例
2017/07/28 Javascript
JS将网址url转化为JSON格式的方法
2018/07/02 Javascript
如何实现一个webpack模块解析器
2018/10/24 Javascript
[01:33:07]VGJ.T vs Newbee Supermajor 败者组 BO3 第一场 6.6
2018/06/07 DOTA
[47:45]DOTA2-DPC中国联赛 正赛 Phoenix vs Dragon BO3 第一场 2月26日
2021/03/11 DOTA
Python时间的精准正则匹配方法分析
2017/08/17 Python
如何打包Python Web项目实现免安装一键启动的方法
2020/05/21 Python
python 实现单例模式的5种方法
2020/09/23 Python
Paper Cape官网:美国婴儿和儿童服装品牌
2019/11/02 全球购物
澳大利亚最大的护发和护肤品购物网站:RY
2019/12/26 全球购物
火车来了教学反思
2014/02/11 职场文书
党的群众路线教育实践活动动员会主持词
2014/03/20 职场文书
竞选副班长演讲稿
2014/04/24 职场文书
校庆活动策划方案
2014/06/05 职场文书
校园文明标语
2014/06/13 职场文书
民族团结演讲稿范文
2014/08/27 职场文书
交流会主持词
2015/07/02 职场文书
2019安全宣传标语大全
2019/08/14 职场文书
深入理解go slice结构
2021/09/15 Golang
在Centos 8.0中安装Redis服务器的教程详解
2022/03/21 Redis
Dubbo+zookeeper搭配分布式服务的过程详解
2022/04/03 Java/Android
React更新渲染原理深入分析
2022/12/24 Javascript