提交 90b3fab2 作者: vben

feat: routes with parameters can be cached

上级 cdf2c59e
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
- 增加富文本嵌入表单的示例 - 增加富文本嵌入表单的示例
- 表单组件 schema 增加 `required`属性。简化配置 - 表单组件 schema 增加 `required`属性。简化配置
- openModal 和 openDrawer 第二个参数可以代替`transferModalData`传参到内部 - openModal 和 openDrawer 第二个参数可以代替`transferModalData`传参到内部
- 带参路由可以被缓存
### ⚡ Performance Improvements ### ⚡ Performance Improvements
......
import { defineComponent } from 'vue'; import { defineComponent } from 'vue';
// import { Layout } from 'ant-design-vue'; import { Layout } from 'ant-design-vue';
import { RouterView } from 'vue-router';
// hooks // hooks
import { ContentEnum } from '/@/enums/appEnum'; import { ContentEnum } from '/@/enums/appEnum';
import { appStore } from '/@/store/modules/app'; import { appStore } from '/@/store/modules/app';
import PageLayout from '/@/layouts/page/index'; // import PageLayout from '/@/layouts/page/index';
export default defineComponent({ export default defineComponent({
name: 'DefaultLayoutContent', name: 'DefaultLayoutContent',
setup() { setup() {
...@@ -13,9 +15,10 @@ export default defineComponent({ ...@@ -13,9 +15,10 @@ export default defineComponent({
const { contentMode } = getProjectConfig; const { contentMode } = getProjectConfig;
const wrapClass = contentMode === ContentEnum.FULL ? 'full' : 'fixed'; const wrapClass = contentMode === ContentEnum.FULL ? 'full' : 'fixed';
return ( return (
// <Layout.Content class={`layout-content ${wrapClass} `}> <Layout.Content class={`layout-content ${wrapClass} `}>
<PageLayout class={`layout-content ${wrapClass} `} /> {() => <RouterView />}
// </Layout.Content> {/* <PageLayout class={`layout-content ${wrapClass} `} /> */}
</Layout.Content>
); );
}; };
}, },
......
...@@ -44,10 +44,10 @@ export default defineComponent({ ...@@ -44,10 +44,10 @@ export default defineComponent({
// TODO add key? // TODO add key?
const Content = openCache ? ( const Content = openCache ? (
<KeepAlive max={max} include={cacheTabs}> <KeepAlive max={max} include={cacheTabs}>
<Component /> <Component key={route.path} />
</KeepAlive> </KeepAlive>
) : ( ) : (
<Component /> <Component key={route.path} />
); );
return openRouterTransition ? ( return openRouterTransition ? (
<Transition <Transition
......
<template> <template>
<div class="p-4"> <div class="p-4">
Current Param : {{ params }} Current Param : {{ params }}
<!-- <input /> --> <br />
Keep Alive
<input />
</div> </div>
</template> </template>
<script lang="ts"> <script lang="ts">
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论