vue项目中需求,导航栏中点击开关,开出新窗口,新窗口关闭,导航栏中开关对应关闭
时间: 2023-09-30 16:12:15 浏览: 71
可以通过以下步骤来实现这个需求:
1. 在导航栏中添加一个开关按钮,使用`<router-link>`标签将其链接到一个新页面。
2. 在新页面中添加一个关闭按钮,当点击该按钮时,关闭当前窗口。
3. 在导航栏中添加一个事件监听器,监听窗口的关闭事件。当窗口关闭时,将开关按钮的状态重新设置为关闭状态。
下面是一个示例代码:
导航栏组件:
```
<template>
<div>
<router-link to="/new-page" v-bind:class="{ active: isActive }" @click="openNewPage">Open new page</router-link>
</div>
</template>
<script>
export default {
data() {
return {
isActive: false
}
},
methods: {
openNewPage() {
window.open('/new-page', '_blank');
this.isActive = true;
},
handleClose() {
this.isActive = false;
}
},
mounted() {
window.addEventListener('beforeunload', this.handleClose);
},
beforeDestroy() {
window.removeEventListener('beforeunload', this.handleClose);
}
}
</script>
```
新页面组件:
```
<template>
<div>
<button @click="closeWindow">Close window</button>
</div>
</template>
<script>
export default {
methods: {
closeWindow() {
window.close();
}
}
}
</script>
```
阅读全文