Vue-CLI项目中路由传参的方式详解


Posted in Javascript onSeptember 01, 2019

一.标签传参方式:<router-link></router-link>

第一种

router.js
{
  path: '/course/detail/:pk',
  name: 'course-detail',
  component: CourseDetail
}

传递层

<!-- card的内容
{
  id: 1,
  bgColor: 'red',
  title: 'Python基础'
}
-->
<router-link :to="`/course/detail/${card.id}`">详情页</router-link>

接收层

let id = this.$route.params.pk

演变体

"""
{
  path: '/course/:pk/:name/detail',
  name: 'course-detail',
  component: CourseDetail
}

<router-link :to="`/course/${card.id}/${card.title}/detail`">详情页</router-link>

let id = this.$route.params.pk
let title = this.$route.params.name
"""

第二种

router.js
{
  // 浏览器链接显示:/course/detail,注:课程id是通过数据包方式传递
  path: '/course/detail',
  name: 'course-detail',
  component: CourseDetail
}

传递层

<!-- card的内容
{
  id: 1,
  bgColor: 'red',
  title: 'Python基础'
}
-->
<router-link :to="{
         name: 'course-detail',
         params: {pk: card.id}
         }">详情页</router-link>

接收层

let id = this.$route.params.pk

第三种

router.js
{
  // 浏览器链接显示:/course/detail?pk=1,注:课程id是通过路由拼接方式传递
  path: '/course/detail',
  name: 'course-detail',
  component: CourseDetail
}

传递层

<!-- card的内容
{
  id: 1,
  bgColor: 'red',
  title: 'Python基础'
}
-->
<router-link :to="{
         name: 'course-detail',
         query: {pk: card.id}
         }">详情页</router-link>

接收层

let id = this.$route.query.pk

二.逻辑传参:this.$router

第一种

"""
路由:
path: '/course/detail/:pk'

跳转:id是存放课程id的变量

this.$router.push(`/course/detail/${id}`)

接收:

let id = this.$route.params.pk
"""

第二种

"""
路由:
path: '/course/detail'

跳转:id是存放课程id的变量
this.$router.push({
          'name': 'course-detail',
          params: {pk: id}
        });

接收:

let id = this.$route.params.pk
"""

第三种

"""
路由:
path: '/course/detail'

跳转:id是存放课程id的变量
this.$router.push({
          'name': 'course-detail',
          query: {pk: id}
        });

接收:

let id = this.$route.query.pk
"""

总结

以上所述是小编给大家介绍的Vue-CLI项目中路由传参的方式详解,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

Javascript 相关文章推荐
JavaScript的面向对象(二)
Nov 09 Javascript
使用命令对象代替switch语句的写法示例
Feb 28 Javascript
理解javascript中的with关键字
Feb 15 Javascript
Vue2.x中的父子组件相互通信的实现方法
May 02 Javascript
vue init webpack myproject构建项目 ip不能访问的解决方法
Mar 20 Javascript
webpack本地开发环境无法用IP访问的解决方法
Mar 20 Javascript
微信小程序收藏功能的实现代码
Jun 12 Javascript
微信小程序日期选择器实例代码
Jul 18 Javascript
jQuery实现菜单的显示和隐藏功能示例
Jul 24 jQuery
解决vue无法设置滚动位置的问题
Oct 07 Javascript
layui的select联动实现代码
Sep 28 Javascript
Vue实现验证码功能
Dec 03 Javascript
vue实现输入框的模糊查询的示例代码(节流函数的应用场景)
Sep 01 #Javascript
vue中的v-if和v-show的区别详解
Sep 01 #Javascript
react中Suspense的使用详解
Sep 01 #Javascript
vue 实现微信浮标效果
Sep 01 #Javascript
微信小程序获取位置展示地图并标注信息的实例代码
Sep 01 #Javascript
JS实现可用滑块滑动的缓动图代码
Sep 01 #Javascript
vue动态子组件的两种实现方式
Sep 01 #Javascript
You might like
php ss7.5的数据调用 (笔记)
2010/03/08 PHP
如何突破PHP程序员的技术瓶颈分析
2011/07/17 PHP
php实现用户登陆简单实例
2017/04/04 PHP
jQuery 各种浏览器下获得日期区别
2008/12/22 Javascript
javascript 有趣而诡异的数组
2009/04/06 Javascript
IE JS编程需注意的内存释放问题
2009/06/23 Javascript
javascript 写类方式之四
2009/07/05 Javascript
基于jsTree的无限级树JSON数据的转换代码
2010/07/27 Javascript
在多个页面使用同一个HTML片段的代码
2011/03/04 Javascript
JS实现标签页效果(配合css)
2013/04/03 Javascript
简单的ajax连接库分享(不用jquery的ajax)
2014/01/19 Javascript
js中不同的height, top的区别对比
2015/09/24 Javascript
javascript每日必学之多态
2016/02/23 Javascript
JS设置cookie、读取cookie
2016/02/24 Javascript
jquery实现文本框textarea自适应高度
2016/03/09 Javascript
基于angularjs实现图片放大镜效果
2016/08/31 Javascript
利用Angular.js限制textarea输入的字数
2016/10/20 Javascript
jQuery手指滑动轮播效果
2016/12/22 Javascript
Canvas实现放射线动画效果
2017/02/15 Javascript
node中koa中间件机制详解
2017/08/22 Javascript
jquery一键控制checkbox全选、反选或全不选
2017/10/16 jQuery
js将键值对字符串转为json字符串的方法
2018/03/30 Javascript
微信小程序在地图选择地址并返回经纬度简单示例
2018/12/03 Javascript
Angular PWA使用的Demo示例
2019/01/31 Javascript
详解VS Code使用之Vue工程配置format代码格式化
2019/03/20 Javascript
vue路由分文件拆分管理详解
2020/08/13 Javascript
Python实现调度算法代码详解
2017/12/01 Python
Windows下anaconda安装第三方包的方法小结(tensorflow、gensim为例)
2018/04/05 Python
python+openCV调用摄像头拍摄和处理图片的实现
2019/08/06 Python
使用pandas的box_plot去除异常值
2019/12/10 Python
对Python中 \r, \n, \r\n的彻底理解
2020/03/06 Python
详解FireFox下Canvas使用图像合成绘制SVG的Bug
2019/07/10 HTML / CSS
Lou & Grey美国官网:主打舒适性面料服饰
2017/12/21 全球购物
英国医生在线预约:Top Doctors
2019/10/30 全球购物
MIXIT官网:俄罗斯最大的化妆品公司之一
2020/01/25 全球购物
医院营销工作计划
2015/01/16 职场文书