一 vue的过渡 (动画)
钩子函数
vue动画的js钩子函数相当于动画的生命周期函数
。before-enter:进入之前触发
。after-enter:进入后触发
。enter-cancelled:结束进入阶段
。before-leave:进入之前触发
。after-leave:进入后触发
。leave-cancelled:结束进入阶段
例子
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<style>
#box {
width: 100px;
height: 100px;
background-color: red;
}
.fade-enter-active,
.fade-leave-active {
transition: 1s all;
}
.fade-leave-to,
.fade-enter {
opacity: 0;
}
</style>
<body>
<div id="app">
<button @click="show=!show">按钮</button>
<!-- v-on:before-leave="beforeLeave" v-on:leave="leave" v-on:after-leave="afterLeave" v-on:leave-cancelled="leaveCancelled" -->
<transition name="fade" @before-enter="beforeEnter" @enter="enter" @after-enter="afterEnter" @enter-cancelled="enterCancelled">
<div id="box" v-show="show"></div>
</transition>
</div>
<script src="../vue.js"></script>
<script>
new Vue({
el: "#app",
data: {
show: true,
},
methods: {
beforeEnter: function(el) {
console.log("进入之前")
el.style.background = "pink";
// alert(1)
},
enter: function(el, done) {
console.log("进入")
console.log(el)
el.innerHTML = "111";
el.style.background = "blue";
},
afterEnter: function(el) {
console.log("进入之后")
},
enterCancelled: function() {
console.log("进入之后销毁")
}
}
})
</script>
</body>
</html>