我是vuejs的新手。有人帮我吗? 如果单击浏览器刷新按钮,则需要显示弹出窗口。所以我在这里用下面的代码。
I am using the code like,
window.onbeforeunload=function(){
return "Your work will be lost.";
}
我在单个页面中的beforeMount()生命周期实例下使用了此函数。但是,当我单击浏览器刷新按钮时,此弹出窗口显示了多个页面。我想在单个页面中显示此弹出窗口。有人可以帮我吗?
答案 0 :(得分:1)
我看到这是一篇过时的文章,但这也许会在将来对您或其他人有帮助。如上所述,了解实际的代码实现会很有帮助,但这也许会有所帮助。
<script>
export default {
data: () => ({
shouldPrevent: false
}),
beforeMount() {
window.addEventListener("beforeunload", this.preventNav)
},
beforeDestroy() {
// Don't forget to clean up event listeners
window.removeEventListener("beforeunload", this.preventNav)
},
methods: {
preventNav(e) {
if (!this.shouldPrevent) return
e.preventDefault()
e.returnValue = ""
},
},
}
</script>