beforeDestroy vue动态组件

时间:2019-03-19 17:36:25

标签: vue.js

在切换组件之前如何添加警报消息? (在更改路径之前,beforeDestroy才起作用...)

<template>
    <keep-alive>
        <component
          :is="dynamicComponent"
        />
     </keep-alive>
</template>

1 个答案:

答案 0 :(得分:3)

正如您已经发现的那样,当您使一个组件保持活动状态时,由于该组件保持活动状态,因此不会将“ beforeDestroy”和“ created”作为普通组件抛出。

因此,Vue为此定义了其他生命周期方法:

  • activated-在keep-alive加载组件时被调用
  • deactivated-当<keep-alive>卸载组件时被调用

您可以这样使用它们:

export default {
    created() {
        console.log('created');
    },
    activated() {
        console.log('activated');
    },
    deactivated() {
        console.log('deactivated');
    },
    beforeDestroy() {
        console.log('beforeDestroy');
    },
}