Defining dynamic imports for components in constants folder vs composable folder
message.md9.49KB
composables/composables/Lazy// composables/useDynamicComponents.ts
import { defineAsyncComponent } from 'vue'
export const useDynamicComponents = () => {
const loadComponent = (componentName: string) =>
defineAsyncComponent(() => import(`../components/${componentName}.vue`))
return {
DynamicComp1: loadComponent('Comp1'),
DynamicComp2: loadComponent('Comp2')
}
}// constants/dynamicComponents.ts
import { defineAsyncComponent } from 'vue'
export const DYNAMIC_COMPONENTS = {
DynamicComp1: defineAsyncComponent(() => import('../components/Comp1.vue')),
DynamicComp2: defineAsyncComponent(() => import('../components/Comp2.vue'))
}<template>
<LazyMyComponent v-if="showComponent" />
</template>