vue使用window.open()跳转页面

本文介绍了如何在Vue项目中使用`window.open()`方法实现带参数的页面跳转,详细解析了`window.open()`的参数及其用法,包括窗口属性设置和历史记录管理。通过示例代码展示了在点击按钮时如何打开新窗口并传递参数。
摘要由CSDN通过智能技术生成

项目场景:

提示:项目需要vue带参数跳转打开新页面、新窗口

例如:点击机巢监控按钮,在当前页面重新打开一个窗口到另一个页面(同时把参数全部带过去)

window.open()的用法

open() 方法用于打开一个新的浏览器窗口或查找一个已命名的窗口。

window.open(URL,name,specs,replace)

specs

可选。一个逗号分隔的项目列表。支持以下值:

channelmode=yes|no|1|0是否要在影院模式显示 window。默认是没有的。仅限IE浏览器
directories=yes|no|1|0是否添加目录按钮。默认是肯定的。仅限IE浏览器
fullscreen=yes|no|1|0浏览器是否显示全屏模式。默认是没有的。在全屏模式下的 window,还必须在影院模式。仅限IE浏览器
height=pixels窗口的高度。最小.值为100
left=pixels该窗口的左侧位置
location=yes|no|1|0是否显示地址字段.默认值是yes
menubar=yes|no|1|0是否显示菜单栏.默认值是yes
resizable=yes|no|1|0是否可调整窗口大小.默认值是yes
scrollbars=yes|no|1|0是否显示滚动条.默认值是yes
status=yes|no|1|0是否要添加一个状态栏.默认值是yes
titlebar=yes|no|1|0是否显示标题栏.被忽略,除非调用HTML应用程序或一个值得信赖的对话框.默认值是yes
toolbar=yes|no|1|0是否显示浏览器工具栏.默认值是yes
top=pixels窗口顶部的位置.仅限IE浏览器
width=pixels窗口的宽度.最小.值为100

replaceOptional.Specifies规定了装载到窗口的 URL 是在窗口的浏览历史中创建一个新条目,还是替换浏览历史中的当前条目。支持下面的值:
  • true - URL 替换浏览历史中的当前条目。
  • false - URL 在浏览历史中创建新的条目。

码如下:

路径:

 {
    path: "/machineMonitor",
    name: "xxx平台",
    component: () => import("@/page/machineMonitor"),
    meta: {
      keepAlive: false,
      isTab: false,
      isAuth: true
    }
  },

 按钮:

  <el-button size="mini" type="primary" @click="handleReadMachine(item)"
     style="margin: 5px 5px 5px 0"><i class="my-icon el-icon-view"></i>&nbsp;机巢监控
</el-button>

 跳转事件: 

    handleReadMachine(row) {
      let newUrl = this.$router.resolve({
        path: "/machineMonitor",
        query: {
          data: JSON.stringify(row),
        },
      });
      window.open(newUrl.href, "_blank");
    },
window.open是一个用于在浏览器中打开新窗口的方法。在Vue中,可以使用window.open进行页面跳转。 你可以使用以下两种方式进行跳转: 1. 普通跳转(跳转的是路由):通过Vue Router的resolve方法解析目标路由,得到目标路由的href,然后使用window.open打开新窗口。例如: ```javascript const { href } = this.$router.resolve({ name: "newDate", query: { floor_id: this.floor_id } }); window.open(href, '_blank'); ``` 这样会在新窗口中打开名为"newDate"的路由页面,并传递参数floor_id。 2. 跳转到新的网页:通过window.open直接跳转到新的网页。例如: ```javascript window.open("https://www.baidu.com/", "_blank"); ``` 这样会在新窗口中打开百度网页。 需要注意的是,使用window.open进行页面跳转时,大部分浏览器会拦截弹出窗口,因此有些情况下可能无法正常跳转。 在Vue Router 2.1.0版本后,可以使用resolve方法解析路由并获取目标路由的href,然后使用window.open打开新窗口。例如: ```javascript const { href } = this.$router.resolve({ name: 'foo', query: { bar } }); window.open(href, '_blank'); ``` 这样可以在新窗口中打开名为"foo"的路由页面,并传递参数bar。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [vue的跳转方式——window.open & router-link标签 & this.$router.push跳转 & this.$router.replace跳转 & ...](https://blog.csdn.net/weixin_44867717/article/details/120503404)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值