详解新手使用vue-router传参时注意事项


Posted in Javascript onJune 06, 2019

1. 使用name和params组合传参

this.$router.push({name: 'details', params: {'id': 233}})

路由配置

import Vue from 'vue'
import Router from 'vue-router'

Vue.use(Router)

export default new Router({
  mode: 'history',
  routes: [
    {
      path: '/details',
      name: 'details',
      component: resolve => require(['../components/details'], resolve)
    }
  ]
})

获取参数

this.$route.params.id // 233

详解新手使用vue-router传参时注意事项

刷新参数丢失 显示 undefined

this.$route.params.id // undefined

详解新手使用vue-router传参时注意事项

注意:此方法第一次跳转是没有问题的,参数也可以传过去,但是刷新页面后,参数就没了 (ps: 这个地方其实还有一个问题,当你传递的参数是number类型,第一次是没有问题的,获取的时候也是number类型,但是当你刷新页面后,number变成string类型,如果涉及计算的建议先类型转换一下)

第一次是预期结果 // 234

console.log(this.$route.params.id + 1)

详解新手使用vue-router传参时注意事项

刷新页面后直接字符串拼接了 // 2331

详解新手使用vue-router传参时注意事项

参数丢失解决方案:

routes: [
    {
      path: '/details/:id', // 这里配置的要和你传递的参数名保持一致
      name: 'details',
      component: resolve => require(['../components/details'], resolve)
    }
  ]

2. path和query组合传参

this.$router.push({path: '/details', query: {id: 666}})
this.$route.query.id // 666

详解新手使用vue-router传参时注意事项

此方法参数会跟在问号后面 例如:/details?id=666,该方法刷新页面不会丢失参数

最后:根据自己的项目选择合适的传参方式

官方文档vue-router

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
用户注册常用javascript代码
Aug 29 Javascript
jQuery中not()方法用法实例
Jan 06 Javascript
jQuery实现的点赞随机数字显示动画效果(附在线演示与demo源码下载)
Dec 31 Javascript
原生JS和jQuery版实现文件上传功能
Apr 18 Javascript
Vue.js 实现微信公众号菜单编辑器功能(一)
May 08 Javascript
js调用设备摄像头的方法
Jul 19 Javascript
关于vue编译版本引入的问题的解决
Sep 17 Javascript
Angularjs实现数组随机排序的方法
Oct 02 Javascript
浅谈ECMAScript 中的Array类型
Jun 10 Javascript
JavaScript canvas绘制圆弧与圆形
Feb 18 Javascript
openlayers 3实现车辆轨迹回放
Sep 24 Javascript
vue表单验证之禁止input输入框输入空格
Dec 03 Vue.js
vue-cli配置全局sass、less变量的方法
Jun 06 #Javascript
解决vue组件props传值对象获取不到的问题
Jun 06 #Javascript
webpack4之如何编写loader的方法步骤
Jun 06 #Javascript
vue 插件的方法代码详解
Jun 06 #Javascript
jquery+ajax实现上传图片并显示上传进度功能【附php后台接收】
Jun 06 #jQuery
node.js的http.createServer过程深入解析
Jun 06 #Javascript
vue中keep-alive组件的入门使用教程
Jun 06 #Javascript
You might like
PHP面向对象法则
2012/02/23 PHP
PHP setTime 设置当前时间的代码
2012/08/27 PHP
php使用curl获取https请求的方法
2015/02/11 PHP
php生成短域名函数
2015/03/23 PHP
php each 返回数组中当前的键值对并将数组指针向前移动一步实例
2016/11/22 PHP
php DES加密算法实例分析
2019/09/18 PHP
JavaScript 核心参考教程 内置对象
2009/10/13 Javascript
JavaScript mapreduce工作原理简析
2012/11/25 Javascript
JavaScript将一个数组插入到另一个数组的方法
2015/03/19 Javascript
jQuery动画效果相关方法实例分析
2015/12/31 Javascript
AngularJS表单和输入验证实例
2016/11/02 Javascript
jQuery中的siblings()是什么意思(推荐)
2016/12/29 Javascript
Vue2.0实现1.0的搜索过滤器功能实例代码
2017/03/20 Javascript
jQuery Pagination分页插件_动力节点Java学院整理
2017/07/17 jQuery
javascript 中select框触发事件过程的分析
2017/08/01 Javascript
PHP 实现一种多文件上传的方法
2017/09/20 Javascript
vue项目中公用footer组件底部位置的适配问题
2018/05/10 Javascript
vue 实现用户登录方式的切换功能
2020/04/14 Javascript
echarts实现获取datazoom的起始值(包括x轴和y轴)
2020/07/20 Javascript
python如何查看系统网络流量的信息
2016/09/12 Python
python实现键盘输入的实操方法
2019/07/16 Python
Selenium webdriver添加cookie实现过程详解
2020/08/12 Python
python 批量下载bilibili视频的gui程序
2020/11/20 Python
python中pop()函数的语法与实例
2020/12/01 Python
全方位了解CSS3的Regions扩展
2015/08/07 HTML / CSS
英国花园药房: The Garden Pharmacy
2017/12/28 全球购物
高考自主招生自荐信
2013/10/20 职场文书
食品厂厂长岗位职责
2014/01/30 职场文书
《狼和小羊》教学反思
2014/04/20 职场文书
开会通知短信大全
2015/04/20 职场文书
活动主持人开场白
2015/05/28 职场文书
煤矿安全生产管理协议书
2016/03/22 职场文书
原生JS封装vue Tab切换效果
2021/04/28 Vue.js
《火纹风花雪月无双》预告“神秘雇佣兵” 紫发剑客
2022/04/13 其他游戏
Golang获取List列表元素的四种方式
2022/04/20 Golang
Nginx 配置 HTTPS的详细过程
2022/05/30 Servers