详解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 实现在离开页面时提醒未保存的信息(减少用户重复操作)
Jan 16 Javascript
简单选项卡 js和jquery制作方法分享
Feb 26 Javascript
javascript实现仿腾讯游戏选择
May 14 Javascript
jQuery插件expander实现图片翻转特效
May 21 Javascript
Angular.JS利用ng-disabled属性和ng-model实现禁用button效果
Apr 05 Javascript
slideToggle+slideup实现手机端折叠菜单效果
May 25 Javascript
微信小程序--组件(swiper)详细介绍
Jun 13 Javascript
vue router自动判断左右翻页转场动画效果
Oct 10 Javascript
vue的diff算法知识点总结
Mar 29 Javascript
详解promise.then,process.nextTick, setTimeout 以及 setImmediate的执行顺序
Nov 21 Javascript
jQuery each和js forEach用法比较
Feb 27 jQuery
jQuery设置下拉框显示与隐藏效果的方法分析
Sep 15 jQuery
详解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引用符&amp;的用法详细解析
2013/08/22 PHP
php中simplexml_load_string使用实例分享
2014/02/13 PHP
Javascript 设计模式(二) 闭包
2010/05/26 Javascript
jcarousellite.js 基于Jquery的图片无缝滚动插件
2010/12/30 Javascript
javascript ie6兼容position:fixed实现思路
2013/04/01 Javascript
node.js中的fs.symlink方法使用说明
2014/12/15 Javascript
JavaScript控制网页平滑滚动到指定元素位置的方法
2015/04/17 Javascript
js实现仿百度汽车频道选择汽车图片展示实例
2015/05/06 Javascript
jQuery焦点图轮播特效代码分享(3款)
2015/09/05 Javascript
JavaScript String 对象常用方法总结
2016/04/28 Javascript
原生JS实现简单放大镜效果
2017/02/08 Javascript
js图片上传的封装代码
2017/08/01 Javascript
vue下跨域设置的相关介绍
2017/08/26 Javascript
Vue中render函数的使用方法
2018/01/31 Javascript
Vue-Router2.X多种路由实现方式总结
2018/02/09 Javascript
vue 之 .sync 修饰符示例详解
2018/04/21 Javascript
vue 双向数据绑定的实现学习之监听器的实现方法
2018/11/30 Javascript
详解使用uni-app开发微信小程序之登录模块
2019/05/09 Javascript
微信小程序实现Swiper轮播图效果
2019/11/22 Javascript
微信小程序聊天功能的示例代码
2020/01/13 Javascript
10分钟学会js处理json的常用方法
2020/12/06 Javascript
python使用Flask框架获取用户IP地址的方法
2015/03/21 Python
windows下ipython的安装与使用详解
2016/10/20 Python
浅谈Python数据类型判断及列表脚本操作
2016/11/04 Python
python 快速把超大txt文件转存为csv的实例
2018/10/26 Python
python 获得任意路径下的文件及其根目录的方法
2019/02/16 Python
python获取array中指定元素的示例
2019/11/26 Python
pycharm双击无响应(打不开问题解决办法)
2020/01/10 Python
pytorch快速搭建神经网络_Sequential操作
2020/06/17 Python
使用css3背景渐变中的透明度来设置不同颜色的背景渐变
2014/03/31 HTML / CSS
英国、欧洲和全球租车服务:Avis英国
2016/08/29 全球购物
英国最大的独立玩具专卖店:The Entertainer
2019/09/06 全球购物
经贸日语专业个人求职信范文
2013/12/28 职场文书
2015年社区统计工作总结
2015/04/21 职场文书
退休职工欢送会致辞
2015/08/01 职场文书
Linux安装apache服务器的配置过程
2021/11/27 Servers