【发布时间】:2021-03-17 16:47:40
【问题描述】:
我有一个相当大的 vue.js 2 应用程序,它具有动态选项卡机制。用户可以与应用程序打开和关闭选项卡进行交互,每个选项卡代表一个路由。为了实现这一点,我使用了 vue 路由器并保持活动状态,如下例所示。
<template>
<div id="app">
<keep-alive>
<router-view :key="routerViewKey"/>
</keep-alive>
</div>
</template>
当用户单击关闭选项卡按钮时,会调用$destroy 函数将其组件从缓存中删除。我正在将此应用程序从 vue 2 迁移到 vue 3,但是,阅读 vue.js 3 的重大更改 documentation 我们可以看到:
已移除的 API
$destroy实例方法。用户不应再手动管理 单个 Vue 组件的生命周期。
到目前为止,我还没有找到任何替代方案,那么如何在 vue.js 3 中以编程方式销毁/卸载 keep-alive 中的缓存组件?
【问题讨论】:
标签: vue.js vue-router vuejs3