一、传的参数是数组数组
传递参数的页面函数
let setStr = encodeURIComponent(JSON.stringify(this.tableData)); this.$router.push('/send/setMessageSelf?setStr=' + setStr);
接收参数页面:ui
mounted(){ let setArray = JSON.parse(this.$route.query.setStr); console.log(setArray); },
解释:this
首先是let一个数组,这个数组是我要传递给另外一个页面的参数,若是直接传就会变成[object object],因此咱们须要经过JSON.stringify(数组)来把这个数组变成一个字符串,把它变成字符串后,若是直接传递,正常来讲是没有问题的,可是当咱们碰到有特殊符号的时候,比方说咱们其中有一个数据是一串网址,那转换就会遇到问题,因此咱们须要使encodeURIComponent()函数把转换出来的字符串进行编码,encodeURIComponent()函数可把字符串做为URI 组件进行编码,该方法不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( ) ,这样咱们就能获得咱们想要的字符串了。编码
由于咱们是把数组变成了字符串传过去的,因此咱们在接收到这个字符串的时候,须要对它进行JSON.parse()转成咱们要的数组。spa
二、传递的是字符串code
传递参数的页面:component
this.$router.push('/message/advise/' + this.id);
接收参数的页面:orm
id: this.$route.params.id,
路由设置:router
{ path: '/message/advise/:id', name: '活动——编辑-推荐信息', component: resolve =>void(require(['@/views/admin/message/activityInformation/Advise'], resolve)) },