vue中destroyed不触发

因为在router-view时候添加了keep-alive

如下:
<keep-alive>
    <router-view></router-view>
</keep-alive>
<!--<keep-alive> 包裹动态组件时,会缓存不活动的组件实例,而不是销毁它们。和 <transition> 相似,<keep-alive> 是一个抽象组件:它自身不会渲染一个 DOM 元素,也不会出现在组件的父组件链中。-->

所以
keep-alive具有缓存的作用,在组件切换过程中将状态保留在内存中,防止重复渲染DOM,减少加载时间及性能消耗,提高用户体验性

如果要触发destroyed,不要对该路由进行keep-alive缓存

posted @ 2020-08-18 11:58  CodeMuscle  阅读(1740)  评论(0编辑  收藏  举报