在vue打包成的webapp中经常需要会执行返回,安卓键盘上的返回

在mounted钩子里面写

在close 方法里处理你的逻辑  例如说退到一个页面

// close(){
//   this.$router.replace({path: '/search'});
//   //replace替换原路由,作用是避免回退死循环
// },

注意在这里使用replace避免死循环

重点来了  由于给window加的是全局事件 所以在离开页面的时候需要注销掉,但是呢 这个加的事件又是在离开页面是才触发的  哈哈哈  所以 

destroyed(){
  let _this = this;
  setTimeout(function(){
    window.removeEventListener('popstate',_this.close,false);
  },0)
}

让他异步执行  先回退页面再注销这个事件

在vue中经常会用到keepalive 缓存页面

这个时候添加要在activated里面写  注销要在 deactivated里面写

Logo

前往低代码交流专区

更多推荐