详解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 Event学习补遗 addEventSimple
Feb 11 Javascript
一个收集图片的bookmarlet(js 刷新页面中的图片)
May 27 Javascript
JS中confirm,alert,prompt函数区别分析
Jan 17 Javascript
浅析Node.js查找字符串功能
Sep 03 Javascript
浅谈javascript中for in 和 for each in的区别
Apr 23 Javascript
基于Jquery实现表单验证
Jul 20 Javascript
JS实现的驼峰式和连字符式转换功能分析
Dec 21 Javascript
Bootstrap实现基于carousel.js框架的轮播图效果
May 02 Javascript
Angular.JS中的this指向详解
May 17 Javascript
微信小程序多音频播放进度条问题
Aug 28 Javascript
webpack css加载和图片加载的方法示例
Sep 11 Javascript
js实现通过开始结束控制的计时器
Feb 25 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
如何用C语言编写PHP扩展的详解
2013/06/13 PHP
CI框架中集成CKEditor编辑器的教程
2014/06/09 PHP
ThinkPHP的模版中调用session数据的方法
2014/07/01 PHP
KindEditor在php环境下上传图片功能集成的方法示例
2020/07/20 PHP
打开超链需要“确认”对话框的方法
2007/03/08 Javascript
javascript 操作文件 实现方法小结
2009/07/02 Javascript
ExtJs默认的字体大小改变的几种方法(自己整理)
2013/04/18 Javascript
jQuery动画animate方法使用介绍
2013/05/06 Javascript
基于jquery编写分页插件
2016/03/07 Javascript
Bootstrap登陆注册页面开发教程
2016/07/12 Javascript
jQuery之动画效果大全
2016/11/09 Javascript
canvas实现钟表效果
2017/02/13 Javascript
vue.js动态数据绑定学习笔记
2017/05/19 Javascript
基于ajax和jsonp的原生封装(实例)
2017/10/16 Javascript
详解如何使用 vue-cli 开发多页应用
2017/12/16 Javascript
在Vue项目中引入腾讯验证码服务的教程
2018/04/03 Javascript
ExtJs使用自定义插件动态保存表头配置(隐藏或显示)
2018/09/25 Javascript
python 3利用Dlib 19.7实现摄像头人脸检测特征点标定
2018/02/26 Python
numpy.where() 用法详解
2019/05/27 Python
使用python远程操作linux过程解析
2019/12/04 Python
HTML 5.1来了 9月份正式发布 更新内容预览
2016/04/26 HTML / CSS
英国香水店:The Perfume Shop
2017/03/27 全球购物
Omio法国:全欧洲低价大巴、火车和航班搜索和比价
2017/11/13 全球购物
毕业生的求职信范文分享
2013/12/04 职场文书
教导处工作制度
2014/01/18 职场文书
精彩的英文自荐信
2014/01/30 职场文书
秋季运动会活动方案
2014/02/05 职场文书
四群教育工作实施方案
2014/03/26 职场文书
运动会400米加油稿(8篇)
2014/09/22 职场文书
《改造我们的学习》心得体会
2014/11/07 职场文书
大学生党性分析材料
2014/12/19 职场文书
2015年度保密工作总结
2015/04/24 职场文书
《七律·长征》教学反思
2016/02/16 职场文书
React Native项目框架搭建的一些心得体会
2021/05/28 Javascript
mysql分组后合并显示一个字段的多条数据方式
2022/01/22 MySQL
Python自动操作神器PyAutoGUI的使用教程
2022/06/16 Python