vue怎么打开新窗口并实现传参的图文

  介绍

这篇文章主要介绍”vue怎么打开新窗口并实现传参的图文”,在日常操作中,相信很多人在vue怎么打开新窗口并实现传参的图文问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答“vue怎么打开新窗口并实现传参的图文”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

我要实现的功能是打开一个新窗口用来展示新页面,而且需要传参数,并且参数不能显示在地址栏里面,而且当我刷新页面的时候,传过来的参数不能丢失,要一直存在,除非我手动关闭这个新窗口,即浏览器的标签页。

先把做好的代码写出来,后面再介绍别人实现不了的坑,以及这方面相关要注意的。

打开新窗口并传参代码

//打开新窗口并传参,参数不能显示在地址栏里面,不关闭窗口一直刷新,参数一直有效   handleWindow (), {   ,//主要实现打开新窗口的功能   ,var  route =,。美元router.resolve ({   ,名字:& # 39;xterm # 39;   ,})   ,//主要实现存储参数的功能   ,sessionStorage.setItem (“ip",,“1.1.1.1");   ,   ,window.open (route.href, & # 39;平等# 39;)   }

我的路由配置,也贴出来好了

{   ,路径:& # 39;/xterm # 39;   ,隐藏:没错,   组件:大敌;(),=祝辞,进口(& # 39;@/视图/监控/xterm/指数# 39;),   ,名字:& # 39;xterm # 39;   },

现在是页面接收参数

//vue的初始化方法,页面一初始化,就去拿参数   创建(),{   ,警报(sessionStorage.getItem (“ip"));=,,this.ip  sessionStorage.getItem (“ip")   },

贴个真相图

 vue怎么打开新窗口并实现传参的图文

这是通过vue的打开新窗口,通过sessionStorage传参拿参数。为什么只能这么做,才能实现这个功能,下面我讲一下我的踩坑历程。群众里有坏的人,拿个假代码来网络上骗人,哪个码农经不起这样的考验?

首先这个功能需要打开新窗口,那么方式有如下3种;

第一种:通过<代码> & lt; router-link>

第二种:通过<代码> router.replace 方法,这种方法的打开窗口,是把当前一页面替换成要跳转过去的B页面,我打开新窗口是想看新东西,这倒好,直接让我之前的页面没了,这不操蛋嘛?在我实验过后,出去!

第三种:通过<代码> router.resolve 方法,这就是打开新窗口,不影响当前一页面,直接打开一个浏览器标签页,我可以通过来回切换标签页,来看两个页面的信息数据。这很好,我中意,就是这个了。

顺带介绍一下,vue2.0以后,为了和日渐流行的HTML5保持一致,router.go和router.push就不支持新窗口打开的属性,路由器。会被用来当做前进后退了,路由器。将被用来当做导向特殊页面,这个跳转,不会打开新窗口,有历史功能,如果你一个窗口有多标签页的话,可以用这个来开多个,如图所示,

 vue怎么打开新窗口并实现传参的图文

好了,使用路由器。决心,我们可以跳转到新窗口里,那么现在就开始传参了,这就到了坑爹的地方了。按照网上的搬运来看,主要是如下两种传参;

//测试第一种传参   testA  (aaa), {   ,const  route =,。美元router.resolve ({   ,,,的名字:& # 39;xterm # 39;,,   ,,,参数:{   ,,,,ip: aaa   ,,}   ,})   ,window.open (route.href & # 39;平等# 39;)   }//测试第二种传参   testA  (bbb), {   ,const  route =,。美元router.resolve ({   ,,,路径:& # 39;/xterm # 39;,,   ,,,查询:{   ,,,,ip: bbb   ,,}   ,})   ,window.open (route.href & # 39;平等# 39;)   }

对应的接收参数,如下所示,

创建(),{   ,//测试第一种接参   this.ip =,这。route.params.ip美元   ,//测试第二种接参   this.ip =,这。route.query.ip美元   },

测试的结果是,第一种永远拿不到值,第二种地址栏里暴露了传递的各项参数值。即使第一种经过种种特殊处理,最好的结果也只是第一次拿到值,再刷新一下页面,值就丢失了,这怎么行吗?谁能保证用户不会觉得有点卡,然后顺手去点了刷新按钮。这种在

vue怎么打开新窗口并实现传参的图文