window.open打开新标签跳转传参,params与query

本文介绍了在JavaScript中使用window.open()进行页面跳转时,如何携带参数。首先提到URL拼接方式,虽然直观但可读性差,然后推荐使用VueRouter的resolve方法,通过对象形式传递params和query,提高代码清晰度和灵活性。
摘要由CSDN通过智能技术生成

但跳转页面但希望新建标签页打开的时候,window.open()是我们最常用的方法,但是如果我不只是跳转,我想携带参数诸如,id,type,该怎么操作呢。

第一种方法,拼接在url后面。

这种方法就好比携带的参数query,或者请求get类型的接口。

var id = this.userId

window.open('https://example.com?param1={id}&param2=value2', 'MyWindowName', 'width=600,height=400');

但是我个人非常不推荐这种方法,除了可读性差以外,对于编码者本人来说也不宜传参,我更推荐以下这种方法。

第二种方法, 对象传参。
      const { href } = this.$router.resolve({
        name: "History",
        params: { id: row.user },
        query: { type: "facebook", acc: '3333' },
      });
      window.open(href, "_blank");

 后面传的_blank可选,其格格属性参数如下:

另外,值得注意的一点,params传参只能传递一个参数,多于参数会返回undefined ,而query却可以传多个参数,获取方式采用route的方法this.$route.paramsthis.$route.query即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值