在 vuejs 上监听 onpopstate 事件

Listening to onpopstate event on vuejs

我是 Vue 的新手,我正在尝试弄清楚如何监听 vuejs 上的 onpopstate 事件以在它发生时启动特定功能。我浏览了路由器文档,但找不到 vue 上的 onpopstate 事件处理程序的等效项。

感谢您的帮助, 会

如果您在 SPA 中使用 vue-router,那么我会把它放在基础组件的已创建挂钩中:

  created() {
    // Attach onpopstate event handler
    window.onpopstate = function(event) {
      alert("location: " + document.location + ", state: " + JSON.stringify(event.state));
    };
  },

因为基础组件提供所有视图,您应该会发现该事件将在整个应用程序中触发。

这里的 JSFiddle 向您展示了此设置的工作原理:https://jsfiddle.net/bjb8ukb8/