vue关于使用window.open()新打开窗传参及接收参数的解决方法 |
您所在的位置:网站首页 › windowsopen不重复打开窗口 › vue关于使用window.open()新打开窗传参及接收参数的解决方法 |
在使用vue开发过程中中,有这样的需求,点击页面某个列表,需要新开一个窗口展示对应的数据, 一般我们会使用window.open(url,name,...)打开新的窗口
第一个是url路径,第二个是新开窗口的名称,第三个和的四个参数,我还没好好研究,也还不清楚具体的作用是啥 使用过程中的重中之重就是参数的接收很传递 我只是用了在url后面拼接参数的方法,至于post,body内传参的方法我也不知道, 大致就是这个样子的: window.open('/home/.../target?myString=' + this.myStr + '&data=' + this.data+ '&...' ..... 这里的this.myStr和this.data可以看做是在需要传递的字符串和一个对象数组 myStr = '敲代码,敲代码' data:[ {id: 12,name:'小花猫',age:'12'}, {id: 1,name:'大狼狗',age:'22'}] 对性数组是不可以像字符串那样直接传递的,那样是取不到数据的,解决的办法就是拼接的时候使用JSON.stringify先将对象或数组转为字符串再拼接上去,在新串口取到数据后再使用JSON.parse转回来就好了
所以正确的写法是: window.open('/home/.../target?myString=' + this.myStr + '&data=' +JSON.stringify(this.data)+ '&...' .....
现在数据已经传到新窗口了,该怎么取呢?网上有很多方法都是通过window.location.search来取,可是不知道为什么,我取不到啊, 所以我是通过this.$route.query取到 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |