详解新手使用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 相关文章推荐
node.js开机自启动脚本文件
Dec 24 Javascript
jquery+easeing实现仿flash的载入动画
Mar 10 Javascript
JQuery中DOM事件冒泡实例分析
Jun 13 Javascript
js实现点击文本框显示日期选择器特效代码分享
May 21 Javascript
简单谈谈javascript Date类型
Sep 06 Javascript
JavaScript获取页面中超链接数量的方法
Nov 09 Javascript
js实现数组冒泡排序、快速排序原理
Mar 08 Javascript
AngularJS动态添加数据并删除的实例
Feb 27 Javascript
vue权限管理系统的实现代码
Jan 17 Javascript
超简单的微信小程序轮播图
Nov 22 Javascript
微信小程序开发中var that =this的用法详解
Jan 18 Javascript
小程序实现上下切换位置
Nov 16 Javascript
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
MySQL中create table语句的基本语法是
2007/01/15 PHP
基于PHP常用字符串的总结(待续)
2013/06/07 PHP
php静态文件返回304技巧分享
2015/01/06 PHP
php利用smtp类实现电子邮件发送
2015/10/30 PHP
PHP常用设计模式之委托设计模式
2016/02/13 PHP
PHP简单实现无限级分类的方法
2016/05/13 PHP
thinkphp3.x连接mysql数据库的方法(具体操作步骤)
2016/05/19 PHP
分析PHP中单双引号的误区和双引号小隐患
2016/07/19 PHP
laravel在中间件内生成参数并且传递到控制器中的2种姿势
2019/10/15 PHP
脚本安需导入(装载)的三种模式的对比
2007/06/24 Javascript
解决jquery submit()提交表单提示:f[s] is not a function
2013/01/23 Javascript
js判断样式className同时增加class或删除class
2013/01/30 Javascript
js动态生成Html元素实现Post操作(createElement)
2015/09/14 Javascript
jquery实现图片预加载
2015/12/25 Javascript
javascript实现右侧弹出“分享到”窗口效果
2016/02/01 Javascript
js+html制作简单验证码
2017/02/16 Javascript
Jquery滑动门/tab切换实现方法完整示例
2020/06/05 jQuery
[01:09:01]完美世界DOTA2联赛循环赛 Magma vs PXG BO2第一场 10.28
2020/10/28 DOTA
Python语言的面相对象编程方式初步学习
2016/03/12 Python
python使用pymysql实现操作mysql
2016/09/13 Python
PyTorch上实现卷积神经网络CNN的方法
2018/04/28 Python
python 实现求解字符串集的最长公共前缀方法
2018/07/20 Python
基于pandas将类别属性转化为数值属性的方法
2018/07/25 Python
解决Pyinstaller 打包exe文件 取消dos窗口(黑框框)的问题
2019/06/21 Python
树莓派使用USB摄像头和motion实现监控
2019/06/22 Python
详解Ubuntu环境下部署Django+uwsgi+nginx总结
2020/04/02 Python
selenium自动化测试入门实战
2020/12/21 Python
FILA德国官方网站:来自意大利的体育和街头服饰品牌
2019/07/19 全球购物
英国旅行箱包和行李箱购物网站:Travel Luggage & Cabin Bags
2019/08/26 全球购物
趣味运动会开幕词
2015/01/28 职场文书
地心历险记观后感
2015/06/15 职场文书
2016年村干部公开承诺书(公开承诺事项)
2016/03/25 职场文书
60句有关成长的名言
2019/09/04 职场文书
导游词之泰山玉皇顶
2019/12/23 职场文书
iPhone13 Pro外观确定,升级4800万镜头,4月20日发新品
2021/04/15 数码科技
Android自定义ScrollView实现阻尼回弹
2022/04/01 Java/Android