讓每個文字都有進入進出動畫。( •̀ ω •́ )✧
可以應用在滾動出現文字或者遊戲對話逐字出現效果。
與先前章節相同,讓我們建立元件與文件檔案,檔案結構如下。
.
├─ docs
│ └─ components
│ └─ text-characters-transition
│ └─ index.md
└─ src
└─ components
└─ text-characters-transition
├─ examples
├─ └─ basic-usage.vue
└─ text-characters-transition.vue
首先是 Vue 元件的部份,很單純,就是先預留 Vue SFC 內容。
這個元件不提供 slot,所以刪除 slot 部分
src\components\text-characters-transition\text-characters-transition.vue
<template>
<div class="">
逐字轉場
</div>
</template>
<script setup lang="ts">
// #region Props
interface Props { }
// #endregion Props
const props = withDefaults(defineProps<Props>(), {});
// #region Emits
const emit = defineEmits<{}>();
// #endregion Emits
// #region Methods
defineExpose({});
// #endregion Methods
</script>
<style scoped lang="sass">
</style>
src\components\text-characters-transition\examples\basic-usage.vue
<template>
<div class="flex flex-col gap-4 w-full border border-gray-300 p-6">
<text-characters-transition />
</div>
</template>
<script setup lang="ts">
import TextCharactersTransition from '../text-characters-transition.vue';
</script>
接著是元件介紹部分,先加入固定的基本內容。
docs\components\text-characters-transition\index.md
---
description: 讓每個文字都有進入進出動畫。( •̀ ω •́ )✧
---
<script setup>
import BasicUsage from '../../../src/components/text-characters-transition/examples/basic-usage.vue'
</script>
# 逐字轉場
讓每個文字都有進入進出動畫。( •̀ ω •́ )✧
## 使用範例
### 基本用法
預設就是經典的淡入淡出。( •̀ ω •́ )✧
<basic-usage/>
::: details 查看範例原始碼
<<< ../../../src/components/text-characters-transition/examples/basic-usage.vue
:::
## 原理
文字文字文字文字文字文字文字文字文字文字文字
## API
### Props
<<< ../../../src/components/text-characters-transition/text-characters-transition.vue/#Props
### Emits
<<< ../../../src/components/text-characters-transition/text-characters-transition.vue/#Emits
### Methods
<<< ../../../src/components/text-characters-transition/text-characters-transition.vue/#Methods
最後一步就是在 sidebar 中加入頁面連結。
docs\.vitepress\config.mts
...
export default defineConfig({
...
themeConfig: {
...
sidebar: [
...
{
text: '元件',
link: '/components/',
items: [
...
{
text: '文字',
items: [
{ text: '逐字轉場', link: '/components/text-characters-transition/' },
]
},
]
},
],
...
}
})
沒有意外的話應該可以在左側的側欄中看到「調皮的按鈕」,點擊進入後可以看到以下內容。
接下來讓我們開始開發元件吧!( •̀ ω •́ )✧
以上程式碼已同步至 GitLab,大家可以前往下載: