VUE页面使用push传递参数
当使用$router.push
进行传递复杂数据类型时,如果有字段的属性为Date对象,那么将会转换成字符串(乱码),这样就不能在$route.query
中获取到正确的日期对象。
解决方式:
- 在传递数据前使用
JSON.stringfy(data)
转换成JSON格式 - 注意:push中的配置项query或者params接受的是一个对象,所以需要定义一个字段来存储JSON数据
this.$router.push({name:url,query:{data:JSON.stringfy(data)}})
- 在获取数据时需要使用
JSON.parse(this.$route.query.data)
获取数据
bugger记录