Vue3使用data属性保存window.open返回的window对象时保存

使用原生js时,执行正常
let win = window.open(“https://www.google.com”,“google”);
如果使用vue3
`
export defaut({
data:{
return {
win:null
};
},
mounted(){
this.win = window.open(“https://www.google.com”,“google”); // 这样会报错,跨域错误
this.win = { winHandle = window.open(“https://www.google.com”,“google”); } //可以执行,但是不可以访问this.win.winHandle对象,否则一样报跨域错误。

}

})
`
乍一看确实是跨域了,但是我并不直接访问这个window对象内部的document,location,history对象,我使用原生JS直接访问open返回的window对象是可以的,还可以访问一些基础属性如window.closed来判断该新建窗口是否被关闭。但是在vue3中就不行,其内部判断传入对象是shallow,然后toRaw的时候访问了window的各个属性,导致JS执行错误

我估摸着…这不算vue2的方法么,vue3 用 setup 不就跟平常差不多了