详解新手使用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的public、private和privileged模式
Dec 28 Javascript
浅析js中2个等号与3个等号的区别
Aug 06 Javascript
javascript内存管理详细解析
Nov 11 Javascript
jquery submit ie6下失效的原因分析及解决方法
Nov 15 Javascript
Asp.Net alert弹出提示信息的几种方法总结
Jan 29 Javascript
jQuery常用数据处理方法小结
Feb 20 Javascript
使用jquery实现鼠标滑过弹出更多相关信息层附源码下载
Nov 23 Javascript
JS中如何比较两个Json对象是否相等实例代码
Jul 13 Javascript
AngularJs 指令详解及示例代码
Sep 01 Javascript
微信小程序 Canvas增强组件实例详解及源码分享
Jan 04 Javascript
angular4实现tab栏切换的方法示例
Oct 21 Javascript
JavaScript偏函数与柯里化实例详解
Mar 27 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
一个数据采集类
2007/02/14 PHP
php preg_match_all结合str_replace替换内容中所有img
2008/10/11 PHP
3种php生成唯一id的方法
2015/11/23 PHP
PHP获取数组中指定的一列实例
2017/12/27 PHP
jquery自定义函数的多种方法
2014/01/09 Javascript
jquery学习总结(超级详细)
2014/09/04 Javascript
使用js实现数据格式化
2014/12/03 Javascript
javascript中Math.random()使用详解
2015/04/15 Javascript
在JS中操作时间之getUTCMilliseconds()方法的使用
2015/06/10 Javascript
js实现简单折叠、展开菜单的方法
2015/08/28 Javascript
JS实现黑客帝国文字下落效果
2015/09/01 Javascript
javascript实现状态栏中文字动态显示的方法
2015/10/20 Javascript
JS实现兼容性较好的随屏滚动效果
2015/11/09 Javascript
解决jquery插件:TypeError:$.browser is undefined报错的方法
2015/11/21 Javascript
剖析Node.js异步编程中的回调与代码设计模式
2016/02/16 Javascript
JavaScript与jQuery实现的闪烁输入效果
2016/02/18 Javascript
javascript事件冒泡简单示例
2016/06/20 Javascript
javascript创建对象的3种方法
2016/11/02 Javascript
基于javascript实现的购物商城商品倒计时实例
2016/12/11 Javascript
详解Javascript几种跨域方式总结
2017/02/27 Javascript
JavaScript实现无穷滚动加载数据
2017/05/06 Javascript
vue+Java后端进行调试时解决跨域问题的方式
2017/10/19 Javascript
jQuery模仿ToDoList实现简单的待办事项列表
2019/12/30 jQuery
javascript设计模式 ? 观察者模式原理与用法实例分析
2020/04/22 Javascript
[01:46]2020完美世界全国高校联赛秋季赛报名开启
2020/10/15 DOTA
通过python实现随机交换礼物程序详解
2019/07/10 Python
对Django 中request.get和request.post的区别详解
2019/08/12 Python
css3的图形3d翻转效果应用示例
2014/04/08 HTML / CSS
html5 利用重力感应实现摇一摇换颜色可用来做抽奖等等
2014/05/07 HTML / CSS
Photobook澳大利亚:制作相片书,婚礼卡,旅行相簿
2017/01/12 全球购物
美国在线咖啡、茶和餐厅供应商:LollicupStore
2018/05/04 全球购物
大课间活动实施方案
2014/03/06 职场文书
小学生九一八纪念日83周年演讲稿500字
2014/09/17 职场文书
幸福来敲门观后感
2015/06/04 职场文书
mysql备份策略的实现(全量备份+增量备份)
2021/07/07 MySQL
面试中老生常谈的MySQL问答集锦夯实基础
2022/03/13 MySQL