指南
基础
- 安装
- 介绍
- Vue 实例
- 模板语法
- 计算属性和侦听器
- 类和样式绑定
- 条件渲染
- 列表渲染
- 事件处理
- 表单输入绑定
- 组件基础
组件深入
- 组件注册
- Props
- 自定义事件
- 插槽
- 动态和异步组件
- 处理边缘情况
过渡和动画
- 进入/离开和列表过渡
- 状态转换
可重用性和组合
- 混入
- 自定义指令
- 渲染函数和 JSX
- 插件
- 过滤器
工具
- 单文件组件
- 测试
- TypeScript 支持
- 生产部署
扩展
- 路由
- 状态管理
- 服务器端渲染
- 安全性
内部机制
- 深入响应性
迁移
- 从 Vue 1.x 迁移
- 从 Vue Router 0.7.x 迁移
- 从 Vuex 0.6.x 迁移到 1.0
- 迁移到 Vue 2.7
元数据
- 与其他框架的比较
- 加入 Vue.js 社区!
- 认识团队
状态转换
Vue 的过渡系统提供了许多简单的方法来动画进入、离开和列表,但如何动画化你的数据本身呢?例如
- 数字和计算
- 显示的颜色
- SVG 节点的坐标
- 元素的大小和其他属性
所有这些要么已经存储为原始数字,要么可以转换为数字。一旦我们做到这一点,我们就可以使用第三方库来对状态进行过渡动画,并结合 Vue 的响应性和组件系统来动画化这些状态变化。
使用侦听器动画化状态
侦听器允许我们将任何数值属性的变化动画化为另一个属性。这在抽象上可能听起来很复杂,所以让我们使用 GreenSock 来深入了解一个示例
|
|
{{ animatedNumber }}
当你更新数字时,变化将在输入下方进行动画。这对于演示来说很好,但对于那些不是直接存储为数字的东西,比如任何有效的 CSS 颜色,该怎么办呢?以下是如何使用 Tween.js 和 Color.js 来实现这一点
|
|
|
预览
{{ tweenedCSSColor }}
动态状态转换
与 Vue 的过渡组件一样,支持状态转换的数据可以实时更新,这对于原型设计特别有用!即使使用简单的 SVG 多边形,你也可以实现许多难以想象的效果,直到你玩弄了变量一段时间。
查看 此示例,了解上面演示的完整代码。
将过渡组织到组件中
管理许多状态转换会很快增加 Vue 实例或组件的复杂性。幸运的是,许多动画可以提取到专门的子组件中。让我们用我们之前示例中的动画整数来做这件事
|
|
在子组件中,我们可以使用本页介绍的任何过渡策略组合,以及 Vue 提供的 内置过渡系统。总之,可以实现的东西几乎没有限制。
将设计变为现实
动画,根据一种定义,意味着赋予生命。不幸的是,当设计师创建图标、徽标和吉祥物时,它们通常以图像或静态 SVG 的形式交付。因此,虽然 GitHub 的八爪鱼、Twitter 的小鸟以及许多其他徽标类似于活着的生物,但它们并没有真正显得有生命。
Vue 可以提供帮助。由于 SVG 只是数据,我们只需要这些生物在兴奋、思考或警觉时的示例。然后 Vue 可以帮助在这些状态之间进行过渡,使你的欢迎页面、加载指示器和通知更具情感吸引力。
Sarah Drasner 在下面的演示中展示了这一点,使用定时和交互驱动的状态变化组合
查看 Pen Vue 控制的 Wall-E by Sarah Drasner (@sdras) on CodePen.