在使用 Vue 3 的 setup 语法糖时,可以使用 computed 属性来判断当前路由是否为从 Home 进入 Directory,如果是,则将 keepalive 中的值置为 false,重新初始化 Directory 页面。

具体代码如下:

import { computed, ref } from 'vue'
import { useRoute } from 'vue-router'

export default {
  name: 'Directory',
  setup() {
    const route = useRoute()
    const keepAlive = ref(true)

    const fromHome = computed(() => {
      return route.from.name === 'Home'
    })

    if (fromHome.value) {
      keepAlive.value = false
      // 重新初始化 directory 页面的代码
    }

    return {
      keepAlive
    }
  }
}

在上述代码中,我们使用 useRoute 获取当前路由信息,然后使用 computed 属性判断是否为从 Home 进入 Directory。如果是,则将 keepalive 的值置为 false,并且可以在 if 语句中加入重新初始化 Directory 页面的代码,以达到重新初始化的目的。

最后,我们将 keepAlive 暴露出去,以便在模板中使用。

Vue3 keepalive 缓存问题:从 Home 页面跳转到 Directory 页面时如何重新初始化?

原文地址: https://www.cveoy.top/t/topic/nfHh 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录