easyai-mfe-demo/remote/components/RemoteContactRouter.vue
Antony Budianto de425bd9e5 init pinia
2025-01-03 17:37:54 +07:00

41 lines
928 B
Vue

<template>
<div>
<component
v-if="asyncPageComponent"
:is="asyncPageComponent"
@increment="(v: number) => emit('increment', v)"
/>
</div>
</template>
<script setup lang="ts">
import { defineAsyncComponent } from "vue"
import { useHostPinia } from "~/composables/useHostPinia"
const props = defineProps<{
label: string
}>()
const emit = defineEmits<{
(e: "increment", count: number): void
}>()
useHostPinia()
/**
* @todo
* it'll be nice if there is a way to dynamically match route and render..
*/
const Index = defineAsyncComponent(() => import("@/pages/contact/index.vue"))
const Properties = defineAsyncComponent(
() => import("@/pages/contact/properties.vue")
)
let asyncPageComponent: unknown
if (/\/contact\/properties/.test(window.location.pathname)) {
asyncPageComponent = Properties
} else {
asyncPageComponent = Index
}
</script>