2022-04-21 18:20:39 +08:00
|
|
|
<script lang="ts" setup>
|
2022-04-22 12:47:04 +08:00
|
|
|
import { isExternal } from "@/utils/validate"
|
2022-04-21 18:20:39 +08:00
|
|
|
|
|
|
|
const props = defineProps({
|
|
|
|
to: {
|
|
|
|
type: String,
|
|
|
|
required: true
|
|
|
|
}
|
|
|
|
})
|
|
|
|
</script>
|
2022-04-22 12:47:04 +08:00
|
|
|
|
|
|
|
<template>
|
2022-08-25 16:26:28 +08:00
|
|
|
<a v-if="isExternal(props.to)" :href="props.to" target="_blank" rel="noopener">
|
2022-04-22 12:47:04 +08:00
|
|
|
<slot />
|
|
|
|
</a>
|
2022-08-25 16:26:28 +08:00
|
|
|
<router-link v-else :to="props.to">
|
2022-04-22 12:47:04 +08:00
|
|
|
<slot />
|
2022-08-25 16:26:28 +08:00
|
|
|
</router-link>
|
2022-04-22 12:47:04 +08:00
|
|
|
</template>
|