• 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取到

  • 相关阅读:
    构建之法阅读笔记04
    学习进度条10
    描绘用户场景并将典型用户和用户场景描述
    学习进度条09
    构建之法阅读笔记03
    学习进度条08
    每日站立会议10(完成)
    每日站立会议09
    团队成员细节工作项估计
    JS实现全选、不选、反选
  • 原文地址:https://www.cnblogs.com/zhang-jiao/p/11593497.html
Copyright © 2020-2023  润新知