返回 slidev
Link.vue
根目录 / packages / client / builtin / Link.vue
1 <!--
2 Create a link in the presentation
3
4 Usage:
5
6 <Link :to="5" >Go to slide 5</Link>
7
8 <Link :to="5" title="Go to slide 5" />
9 -->
10 <script setup lang="ts">
11 import { useNav } from '../composables/useNav'
12
13 defineProps<{
14 to: number | string
15 title?: string
16 }>()
17
18 const { isPrintMode } = useNav()
19 </script>
20
21 <template>
22 <RouterLink v-if="!isPrintMode && title" :to="String(to)" @click="($event.target as HTMLElement)?.blur()" v-html="title" />
23 <RouterLink v-else-if="!isPrintMode && !title" :to="String(to)" @click="($event.target as HTMLElement)?.blur()">
24 <slot />
25 </RouterLink>
26 <a v-else-if="isPrintMode && title" :href="`#${to}`" v-html="title" />
27 <a v-else :href="`#${to}`"><slot /></a>
28 </template>
29
29 lines Plain Text