vue.js - vue 2 生命周期 - 如何停止 beforeDestroy?

标签 vue.js vuejs2

我可以在 beforeDestroy 中添加一些东西来防止破坏组件吗? ?

或者有什么方法可以防止破坏组件?

我的情况是,当我通过 vue-route 更改 spa 页面时,我首先使用 watch route,但我发现它不会触发,因为组件刚刚销毁..

最佳答案

正如 belmin bedak 评论的那样,您可以使用 keep-alive

  • 当您使用 keep-alive 时,另外两个生命周期 Hook 开始起作用,它们是 activateddeactivated Hook ,而不是 销毁

  • keep-alive的目的是缓存而不是销毁组件

  • 您可以使用 keep-alive 元素的 includeexclude 属性,并提及应该是的组件的名称包括缓存和排除在缓存之外。这是 documentation

  • 如果您想要强行销毁组件,即使它已被缓存,您可以使用 vm.$destroy() here

此外,您可以在所有生命周期钩子(Hook)中console.log 并检查正在调用哪个生命周期钩子(Hook)

关于vue.js - vue 2 生命周期 - 如何停止 beforeDestroy?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43449747/

相关文章:

javascript - 页面加载时Vue Infinite Loading多个请求问题

javascript - Rails 5 + Webpacker 应用程序作为空白页面部署到 Heroku,没有失败

javascript - 将 <pre> 标签内容复制到 Vue.js 应用程序上的剪贴板

javascript - 如何在 vue-router 中使用 Vuetify 选项卡

javascript - 同一页面上的相同 Vue 组件两次重复组件 View

vue.js - 如何让元素在 Vue.js 中闪烁

javascript - 在 Laravel 5.1 和 Vue JS 中保存多个数据动态表单

vue.js - `vue-cli-service build` 不生成模板的代码

vue.js - 如何重用应该使用唯一 vuex 存储实例的组件

vue.js - 如何从父组件调用子组件中的方法?