Nuxt3教程:添加Autoanimate 动画库
前言#
AutoAnimate是一个零配置,插入式动画实用程序,可以为您的Web应用程序添加平滑过渡。您可以将其与React,Solid,Vue,Svelte或任何其他JavaScript应用程序一起使用。
正文#
安装依赖#
# yarn
yarn add @formkit/auto-animate
# npm
npm install @formkit/auto-animate
# pnpm
pnpm add @formkit/auto-animate
添加配置#
如果想全局注册 v-auto-animate
,则在nuxt.config.ts中增加配置:
// nuxt.config.ts
export default defineNuxtConfig({
modules: ['@formkit/auto-animate/nuxt'],
})
如果不想全局注册Vue指令,你可以直接将它导入到你想要使用它的组件中
import { vAutoAnimate } from '@formkit/auto-animate'。
AutoAnimate 基本使用#
AutoAnimate基本上是一个接受父元素的单一函数(autoAnimate)。自动动画将应用于父元素及其直接子元素。当发生以下三个事件之一时,动画会被特别触发:
- 在DOM中添加一个子元素。
- 在DOM中删除子元素。
- 在DOM中移动子对象。
指令方式使用#
一旦你注册了这个插件,它就可以通过在父元素中添加v-auto-animate指令来应用到你的应用程序中的任何地方:
<script setup>
import { ref } from 'vue'
const items = ref(["😏","😐","😑","😒","😕" ])
function removeItem(toRemove) {
items.value = items.value.filter((item) => item !== toRemove)
}
</script>
<template>
<h5>Click emojis to remove them.</h5>
<ul v-auto-animate>
<li
v-for="item in items"
:key="item"
@click="removeItem(item)"
>
{{ item }}
</li>
</ul>
</template>
请记住,传递给:key的值应该是唯一的值,否则动画将无法按预期工作。
可以通过直接设置指令的值来传递选项
composable方式使用#
作为v-auto-animate
指令的替代,Vue开发者可以使用useAutoAnimate
composable。这个组合支持所有相同的强大功能,但也提供了一种启用和禁用动画的机制。
从@formkit/auto-animate/vue中导入组合(Nuxt模块将自动为您导入useAutoAnimate),并在script setup中调用它以创建模板ref。使用父元素上的ref属性将其存储在模板ref中:
<script setup>
import { ref } from 'vue'
import { useAutoAnimate } from '@formkit/auto-animate/vue'
const items = ref(["React", "Vue", "Svelte", "Angular"])
function sortAsc() {
items.value.sort()
}
function sortDesc() {
items.value.sort().reverse()
}
const [parent] = useAutoAnimate()
</script>
<template>
<div>
<button @click="sortAsc">Sort A-Z ↑</button>
<button @click="sortDesc">Sort Z-A ↓</button>
</div>
<ul ref="parent">
<li
v-for="item in items"
:key="item"
>
{{ item }}
</li>
</ul>
</template>
Vue用户可以直接将选项传递给composable:
useAutoAnimate({ duration: 100 })
后记#
给自己的前端代码增加一些简单的动画即可让项目看起来更酷炫
作者:水车
出处:https://www.cnblogs.com/shuiche/p/17965042
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
推荐一个激活软件下载站:mac.shuiche.cc
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
2020-01-15 npm读取config配置的优先级(yarn同理)
2020-01-15 win, mac, linux 默认系统缓存目录
2018-01-15 Mac连接远程Linux管理文件(samba)