VUE3 之 多个元素之间的过渡 - 这个系列的教程通俗易懂,适合新手
1. 概述
老话说的好:过去不等于未来,过去成功了不代表将来也会成功,过去失败了也不代表将来也会失败。
言归正传,今天我们聊聊多个元素之间的过渡。
2. 多个元素之间的过渡
2.1 两个元素交替显示
<body><div id="myDiv"></div>
</body>
<script>
const app = Vue.createApp({
data(){
return {
show : false
}
},
methods : {
myClick() {
this.show = !this.show;
}
},
template:`
<div class="center">
<transition>
<div v-if="show"><h3>on</h3></div>
<div v-else="show"><h3>off</h3></div>
</transition>
<button @click="myClick">切换</button>
</div>
`
});
const vm = app.mount("#myDiv");
这个例子中,点击切换按钮,两个 div 元素会交替显示,使用了我们之前学过的 v-if 和 v-else 的例子
2.2 增加过渡效果
<style>/* 入场起始样式 */
.v-enter-from {
opacity: 0;
}
/* 入场过渡效果 */
.v-enter-active {
transition: 2s opacity ease-in;
}
/* 入场结束样式 */
.v-enter-to {
opacity: 1;
}
/* 出场起始样式 */
.v-leave-from {
opacity: 1;
}
/* 出场过渡效果 */
.v-leave-active {
transition: 2s opacity ease-in;
}
/* 出场结束样式 */
.v-leave-to {
opacity: 0;
}
</style>
我们根据之前的知识增加入场、出场的过渡效果,但效果并不太好,两个元素是同时渲染过渡效果的
2.3 增加模式
template:`<div class="center">
<transition mode="out-in">
<div v-if="show"><h3>on</h3></div>
<div v-else="show"><h3>off</h3></div>
</transition>
<button @click="myClick">切换</button>
</div>
`
我们增加了 mode="out-in" 后,效果好多了,出场元素会先渲染,然后入场元素才渲染
2.4 点刷新,元素也有过渡效果
template:`<div class="center">
<transition mode="out-in" appear>
<div v-if="show"><h3>on</h3></div>
<div v-else="show"><h3>off</h3></div>
</transition>
<button @click="myClick">切换</button>
</div>
`
我们在 transition 标签上增加了 appear 属性,此时点击刷新,也有过渡效果
3. 综述
今天聊了一下 VUE3 中多个元素之间的过渡,希望可以对大家的工作有所帮助,下一节我们继续讲 Vue 中 动画 的相关知识,敬请期待
欢迎帮忙点赞、评论、转发、加关注 :)
关注追风人聊Java,这里干货满满,都是实战类技术文章,通俗易懂,轻松上手。
4. 个人公众号
追风人聊Java,欢迎大家关注
以上是 VUE3 之 多个元素之间的过渡 - 这个系列的教程通俗易懂,适合新手 的全部内容, 来源链接: utcz.com/z/380943.html