vue3 keep-alive 如何实现 相同组件 查询参数不同实现不同实例缓存?
vue3 keep-alive 如何实现 相同组件 查询参数不同实现不同实例缓存?
例子1:
页面1:/article/123
页面2:/article/234
例子2:
页面1:/article/detail?id=132
页面2:/article/detail?id=324
实现两个不同的实例,修改页面数据时互不干扰。
页面结构
<template>
<router-view v-slot="{ Component, route }">
<keep-alive :include="cachedViews">
<component
v-if="route.meta.keepAlive && cachedViews.includes(route.name)"
:is="Component"
/>
</keep-alive>
<component
v-if="!route.meta.keepAlive || !cachedViews.includes(route.name)"
:is="Component"
/>
</router-view>
</template>
<script>
import store from "@/store";
import { computed, watch, ref, onMounted } from "@vue/runtime-core";
export default {
setup() {
const cachedViews = computed(() => {
return store.state.fixedTab.cachedViews;
});
return {
cachedViews,
};
},
};
</script>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论