Vue.js——过渡系统

过渡系统是Vue.js为DOM动画效果提供的一个特性,

它能在元素从DOM中插入或移除时触发你的CSS过渡(transition)和动画(animation),也就是说在DOM元素发生变化时为其添加特定的class类名,从而产生过渡效果。

除了CSS过渡外,Vue.js的过渡系统也支持javascript的过渡,

通过暴露过渡系统的钩子函数,我们可以在DOM变化的特定时机对其进行属性的操作,产生动画效果。

SS过渡的用法

首先举一个例子来说明CSS过渡系统的使用方式:

<div v-if="show" transition="my-startup"></div>

var vm = new Vue({

 el : '#app',

 data: {

  show : false

 }

});

首先在模板中用transition绑定一个DOM元素,并且使用v-if指令使元素先处于未被编译状态。然后在控制台内手动调用vm.show = true, 就可以看到DOM元素最后输出为:

<div class="my-startup-transition"></div>

我们可以看到在DOM元素完成编译后,过渡系统自动给元素添加了一个my-startup-transition的class类名。

CSS过渡钩子函数

Vue.js提供了在插入或DOM元素时类名变化的钩子函数,可以通过Vue.transition('name', {})的方式来执行具体的函数操作。

显示声明过渡类型

Vue.js可以指定过渡元素监听的结束事件的类型, 例如:

Vue.transition('done-type', {

 type: 'animation'

})

此时Vue.js就只监听元素的animationend事件,避免元素上还存在transition时导致的结束事件触发不一致。

自定义过渡类名

除了使用默认的类名*-enter, *-leave外,Vue.js也允许我们自定义过渡类名,例如:

Vue.transition('my-startup', {

 enterClass: 'fadeIn',

 leaveClass: 'fadeOut'

})

我们可以通过上述钩子函数的例子,观测元素的类名变化:

Vue.js官方推荐了一个CSS动画库,animate.css,配合自定义过渡类名使用,

可以达到非常不错的效果。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值