perf/route (#54)

* perf: router

* perf: route
This commit is contained in:
啝裳
2021-10-12 23:33:13 +08:00
committed by GitHub
parent 0408fa6f96
commit a31d154806
18 changed files with 257 additions and 38 deletions

View File

@@ -1,10 +1,35 @@
<template>
<div class="app-container">
<p>{{ $t("message.hsmenu1") }}</p>
<router-view v-slot="{ Component }">
<transition>
<component :is="Component" />
</transition>
<router-view>
<template #default="{ Component, route }">
<transition appear name="fade-transform" mode="out-in">
<keep-alive
v-if="keepAlive"
:include="usePermissionStoreHook().cachePageList"
>
<component :is="Component" :key="route.fullPath" />
</keep-alive>
<component v-else :is="Component" :key="route.fullPath" />
</transition>
</template>
</router-view>
</div>
</template>
<script lang="ts">
import { ref, getCurrentInstance } from "vue";
import { usePermissionStoreHook } from "/@/store/modules/permission";
export default {
name: "Menu1",
setup() {
const keepAlive: Boolean = ref(
getCurrentInstance().appContext.config.globalProperties.$config?.KeepAlive
);
return {
keepAlive,
usePermissionStoreHook
};
}
};
</script>

View File

@@ -1,3 +1,18 @@
<template>
<p style="text-indent: 2em">{{ $t("message.hsmenu1-1") }}</p>
<div>
<p style="text-indent: 2em">{{ $t("message.hsmenu1-1") }}</p>
<el-input v-model="input" />
</div>
</template>
<script lang="ts">
import { defineComponent, ref } from "vue";
export default defineComponent({
name: "Menu1-1",
setup() {
return {
input: ref("")
};
}
});
</script>

View File

@@ -1,10 +1,35 @@
<template>
<div>
<p style="text-indent: 2em">{{ $t("message.hsmenu1-2") }}</p>
<router-view v-slot="{ Component }">
<keep-alive>
<component :is="Component" />
</keep-alive>
<router-view>
<template #default="{ Component, route }">
<transition appear name="fade-transform" mode="out-in">
<keep-alive
v-if="keepAlive"
:include="usePermissionStoreHook().cachePageList"
>
<component :is="Component" :key="route.fullPath" />
</keep-alive>
<component v-else :is="Component" :key="route.fullPath" />
</transition>
</template>
</router-view>
</div>
</template>
<script lang="ts">
import { ref, getCurrentInstance } from "vue";
import { usePermissionStoreHook } from "/@/store/modules/permission";
export default {
name: "Menu1-2",
setup() {
const keepAlive: Boolean = ref(
getCurrentInstance().appContext.config.globalProperties.$config?.KeepAlive
);
return {
keepAlive,
usePermissionStoreHook
};
}
};
</script>

View File

@@ -1,3 +1,18 @@
<template>
<p style="text-indent: 4em">{{ $t("message.hsmenu1-2-1") }}</p>
<div>
<p style="text-indent: 4em">{{ $t("message.hsmenu1-2-1") }}</p>
<el-input v-model="input" />
</div>
</template>
<script lang="ts">
import { defineComponent, ref } from "vue";
export default defineComponent({
name: "Menu1-2-1",
setup() {
return {
input: ref("")
};
}
});
</script>

View File

@@ -1,3 +1,18 @@
<template>
<p style="text-indent: 4em">{{ $t("message.hsmenu1-2-2") }}</p>
<div>
<p style="text-indent: 4em">{{ $t("message.hsmenu1-2-2") }}</p>
<el-input v-model="input" />
</div>
</template>
<script lang="ts">
import { defineComponent, ref } from "vue";
export default defineComponent({
name: "Menu1-2-2",
setup() {
return {
input: ref("")
};
}
});
</script>

View File

@@ -1,3 +1,18 @@
<template>
<p style="text-indent: 2em">{{ $t("message.hsmenu1-3") }}</p>
<div>
<p style="text-indent: 2em">{{ $t("message.hsmenu1-3") }}</p>
<el-input v-model="input" />
</div>
</template>
<script lang="ts">
import { defineComponent, ref } from "vue";
export default defineComponent({
name: "Menu1-3",
setup() {
return {
input: ref("")
};
}
});
</script>

View File

@@ -1,3 +1,18 @@
<template>
<p class="app-container">{{ $t("message.hsmenu2") }}</p>
<div class="app-container">
<p>{{ $t("message.hsmenu2") }}</p>
<el-input v-model="input" />
</div>
</template>
<script lang="ts">
import { defineComponent, ref } from "vue";
export default defineComponent({
name: "Menu2",
setup() {
return {
input: ref("")
};
}
});
</script>