上一篇:混合-mixins 下一篇:过渡效果-transitions
过渡状态-transitioning-state
过渡状态
Vue 的过渡系统提供了非常多简单的方法设置进入、离开和列表的动效。那么对于数据元素本身的动效呢,比如:
- 数字和运算
- 颜色的显示
- SVG 节点的位置
- 元素的大小和其他的属性
所有的原始数字都被事先存储起来,可以直接转换到数字。做到这一步,我们就可以结合 Vue 的响应式和组件系统,使用第三方库来实现切换元素的过渡状态。
状态动画 与 watcher
通过 watcher 我们能监听到任何数值属性的数值更新。可能听起来很抽象,所以让我们先来看看使用Tweenjs一个例子:
|
|
{{ animatedNumber }}
当你把数值更新时,就会触发动画。这个是一个不错的演示,但是对于不能直接像数字一样存储的值,比如 CSS 中的 color 的值,通过下面的例子我们来通过 Color.js 实现一个例子:
|
|
|
Preview:
{{ tweenedCSSColor }}
动态状态转换
就像 Vue 的过渡组件一样,数据背后状态转换会实时更新,这对于prototype设计十分有用。当你修改一些变量,即使是一个简单的 SVG 多边形也可是实现很多难以想象的效果。
See this fiddle for the complete code behind the above demo.
通过组件组织过渡
管理太多的状态转换的很快会接近到 Vue 实例或者组件的复杂性,幸好很多的动画可以提取到专用的子组件。
我们来将之前的示例改写一下:
|
|
+
=
{{ result }}
我们能在组件中结合使用这一节讲到各种过渡策略和 Vue 内建的过渡系统。总之,对于完成各种过渡动效几乎没有阻碍。
- 加入Vue.js社区-join
- 从 Vue Router 0.7.x 迁移-migration-vue-router
- 从 Vue 1.x 迁移-migration
- 状态管理-state-management
- 路由-routing
- 插件-plugins
- 混合-mixins
- 过渡状态-transitioning-state
- 过渡效果-transitions
- 表单控件绑定-forms
- 事件处理器-events
- Class 与 Style 绑定-class-and-style
- 计算属性-computed
- vuejs介绍
- 与Vue.js相关的精彩开发案例 vuejs开发例子
- 对组件注入component-injections
- Router 实例router-instance
- Router 构造配置options
- 路由信息对象route-object
- router-viewrouter-view
- router-linkrouter-link
- 懒加载lazy-loading
- 滚动行为scroll-behavior
- 数据获取data-fetching
- 过渡动效transitions
- 路由元信息meta
- 导航钩子navigation-guards
- HTML5 History 模式history-mode
- 重定向 和 别名redirect-and-alias
- 命名视图named-views
- 命名路由named-routes
- 编程式导航navigation
- 嵌套路由nested-routes
- 动态路由匹配dynamic-matching
- 开始getting-started
- 安装installation
- Introductionzh-cn