检测Vue中的退出路线更改

问题描述 投票:0回答:1

我正在研究一个使用户能够撤消对项目的删除的组件。但是,当用户导航到另一条路线时,应删除该项目。为此,我正在观察这样的路线:

  `watch: {
    $route(to, from) {
      if (this.showUndo === true) {
        console.log('item will be deleted');
        this.confirmDelete();
      }
    },
  },

`

[不幸的是,只有当我输入此特定路线而不是退出时才会触发。一个解释为什么会这样或作为我的watch:-方法的替代方法将不胜感激!

基本上,我正在寻找beforeRouteLeave的替代方案,因为这是一个子组件,因此不能使用导航护罩。谢谢!

vue.js router
1个回答
0
投票

Vue lifecycle hook- BeforeDestroy在拆卸之前就被触发了。您的组件仍将完全存在并且可以正常工作。如果您需要清除事件或反应性订阅,beforeDestroy大概是时候了。

<script>
export default {

  beforeDestroy() {
   //Try like this
    this.confirmDelete();
    console.log('item will be deleted');

  }
}
</script>

Ref-https://vuejs.org/v2/api/#beforeDestroy

© www.soinside.com 2019 - 2024. All rights reserved.