详解新手使用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 相关文章推荐
最佳6款用于移动网站开发的jQuery 图片滑块插件小结
Jul 20 Javascript
jQuery中 noConflict() 方法使用
Apr 25 Javascript
javascript 按键事件(兼容各浏览器)
Dec 20 Javascript
Javascript中判断对象是否为空
Jun 10 Javascript
jquery+json实现数据二级联动的方法
Nov 28 Javascript
angular4模块中给标签添加背景图的实现方法
Sep 15 Javascript
JS随机数产生代码分享
Feb 24 Javascript
详解react-native WebView 返回处理(非回调方法可解决)
Feb 27 Javascript
Vue 将后台传过来的带html字段的字符串转换为 HTML
Mar 29 Javascript
vue.js 实现评价五角星组件的实例代码
Aug 13 Javascript
如何在postman测试用例中实现断言过程解析
Jul 09 Javascript
关于ES6尾调用优化的使用
Sep 11 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
肝肠寸断了解下!盘点史上最伤心的十大动漫
2020/03/04 日漫
PHP中判断文件存在使用is_file还是file_exists?
2015/04/03 PHP
Yii2基于Ajax自动获取表单数据的方法
2016/08/10 PHP
ThinkPHP5.0框架控制器继承基类和自定义类示例
2018/05/25 PHP
php实现表单提交上传文件功能
2018/05/28 PHP
php实现数字补零的方法总结
2018/09/12 PHP
PHP的mysqli_sqlstate()函数讲解
2019/01/23 PHP
phpinfo无法显示的原因及解决办法
2019/02/15 PHP
Yii 框架使用数据库(databases)的方法示例
2020/05/19 PHP
编辑浪子版表单验证类
2007/05/12 Javascript
javascript 弹出窗口中是否显示地址栏的实现代码
2011/04/14 Javascript
js 编码转换 gb2312 和 utf8 互转的2种方法
2013/08/07 Javascript
js取消单选按钮选中示例代码
2013/11/14 Javascript
jQuery中prevAll()方法用法实例
2015/01/08 Javascript
基于jquery实现简单的手风琴特效
2015/11/24 Javascript
JavaScript组件开发完整示例
2015/12/15 Javascript
JavaScript事件学习小结(五)js中事件类型之鼠标事件
2016/06/09 Javascript
js中bool值的转换及“&&”、“||”、 “!!”详解
2017/12/21 Javascript
Vue.js更改调试地址端口号的实例
2018/09/19 Javascript
jQuery+vue.js实现的多选下拉列表功能示例
2019/01/15 jQuery
详解JavaScript 的变量
2019/03/08 Javascript
layui table 表格上添加日期控件的两种方法
2019/09/28 Javascript
vantUI 获得piker选中值的自定义ID操作
2020/11/04 Javascript
Python多线程下载文件的方法
2015/07/10 Python
python批量读取txt文件为DataFrame的方法
2018/04/03 Python
Python selenium实现微博自动登录的示例代码
2018/05/16 Python
Python登录注册验证功能实现
2018/06/18 Python
Python wxPython库使用wx.ListBox创建列表框示例
2018/09/03 Python
使用python批量读取word文档并整理关键信息到excel表格的实例
2018/11/07 Python
Face++ API实现手势识别系统设计
2018/11/21 Python
python 调试冷知识(小结)
2019/11/11 Python
pycharm 2018 激活码及破解补丁激活方式
2020/09/21 Python
从Pytorch模型pth文件中读取参数成numpy矩阵的操作
2021/03/04 Python
党员干部反四风民主生活会对照检查材料思想汇报
2014/10/12 职场文书
市场部经理岗位职责
2015/02/02 职场文书
处罚决定书范文
2015/06/24 职场文书