Vue学习笔记进阶篇之单元素过度

2020-06-14 06:05:11易采站长站整理

@enter="enter"
@leave="leave"
:css="false">
<p v-if="show">javascript 钩子使用</p>
</transition>
</div>


<script src="https://cdnjs.cloudflare.com/ajax/libs/velocity/1.2.3/velocity.min.js"></script>
<script >
new Vue({
el:'#app5',
data:{
show:false
},
methods:{
beforeEnter:function (el) {
el.style.opacity = 0
el.style.transformOrigin = 'left'
},
enter:function (el, done) {
Velocity(el, {opacity:1, fontSize:'1.4em'}, {duration:300})
Velocity(el, {fontSize:'1em'}, {complete:done})
},
leave:function (el, done) {
Velocity(el, {translateX:'15px', rotateZ:'50deg'}, {duration:600})
Velocity(el, {rotateZ:'100deg'}, {loop:2})
Velocity(el,{
rotateZ:'45deg',
translateY:'30px',
translateX:'30px',
opacity:0
}, {complete:done})
}
}
})
</script>

运行结果:

初始渲染的过度

可以通过appear 特性设置节点的在初始渲染的过渡

这里默认和进入和离开过渡一样,同样也可以自定义 CSS 类名。


<transition
appear
appear-class="custom-appear-class"
appear-to-class="custom-appear-to-class"
appear-active-class="custom-appear-active-class">
<!-- ... -->
</transition>

自定义 JavaScript 钩子:


<transition
appear
v-on:before-appear="customBeforeAppearHook"
v-on:appear="customAppearHook"
v-on:after-appear="customAfterAppearHook"
v-on:appear-cancelled="customAppearCancelledHook"
>
<!-- ... -->
</transition>

示例代码:


<!--初始渲染-->
<div id="app6">
<transition appear
appear-active-class="animated tada">
<p>初始画面</p>
</transition>
</div>


new Vue({
el:'#app6',
data:{
show:true
}
})

运行结果:

在界面加载该元素时,会有个过渡效果。