但跳转页面但希望新建标签页打开的时候,window.open()是我们最常用的方法,但是如果我不只是跳转,我想携带参数诸如,id,type,该怎么操作呢。
第一种方法,拼接在url后面。
这种方法就好比携带的参数query,或者请求get类型的接口。
var id = this.userId
window.open('https://example.com?param1={id}¶m2=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.params、this.$route.query即可。