Onbeforeunload事件调用

时间:2018-09-06 13:39:45

标签: vue.js

我是vuejs的新手。有人帮我吗? 如果单击浏览器刷新按钮,则需要显示弹出窗口。所以我在这里用下面的代码。

I am using the code like,

window.onbeforeunload=function(){
 return "Your work will be lost.";
}

我在单个页面中的beforeMount()生命周期实例下使用了此函数。但是,当我单击浏览器刷新按钮时,此弹出窗口显示了多个页面。我想在单个页面中显示此弹出窗口。有人可以帮我吗?

1 个答案:

答案 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>