国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

vue實現多個元素或多個組件之間動畫效果

2024-05-06 15:29:33
字體:
來源:轉載
供稿:網友

本文實例為大家分享了vue實現多個元素或多個組件之間動畫的具體代碼,供大家參考,具體內容如下

多個元素的過渡

<style>  .v-enter,.v-leave-to{    opacity: 0;  }  .v-enter-acitve,.v-leave-active{    opacity: opacity 1s;  }</style><div id='app'>  <transition>    <div v-if='show'>hello world</div>    <div v-else>bye world</div>  </transition>  <button @click='handleClick'>切換</button></div><script>var vm = new Vue({  el:'#app',  data:{    show:true  },  methods:{    handleClick:function(){      this.show = !this.show;    }  }})</script>

按照之前的寫法方式,漸隱漸出的效果并沒有出現該有的效果,那么為什么呢?

在if else兩個元素切換的時候,會盡量的復用dom,正是vue,dom的復用,導致動畫的效果不會出現,如果想要vue不去復用dom,之前也說過,怎么做呢,給兩個div不同的key值就行了

<div v-if='show' key='hello'>hello world</div><div v-else key='bye'>bye world</div>

這樣就可以有個明顯的動畫效果,多個元素過渡動畫的效果。

transition還提供了一個mode屬性,in-out是先顯示再隱藏,out-in是先隱藏再顯示

多個組件的過渡

<style>  .v-enter, .v-leave-to {    opacity: 0;  }  .v-enter-acitve, .v-leave-active {    transition: opacity 1s;  }</style><div id='app'>  <transition mode='out-in'>    <child v-if='show'></child>    <child-one v-else></child-one>  </transition>  <button @click='handleClick'>切換</button></div><script>Vue.component('child',{  template:'<div>child</div>'})Vue.component('child-one',{  template:'<div>child-one</div>'})var vm = new Vue({  el:'#app',  data:{    show:true  },  methods:{    handleClick:function(){      this.show = !this.show;    }  }})</script>

這個就是多個組件的過渡,采用的是上面的方式,替換子組件,那么我們換一種方式,用動態組件

<style>  .v-enter, .v-leave-to {    opacity: 0;  }  .v-enter-acitve, .v-leave-active {    transition: opacity 1s;  }</style><div id='app'>  <transition mode='out-in'>    <component :is='type'></component>  </transition>  <button @click='handleClick'>切換</button></div><script>Vue.component('child',{  template:'<div>child</div>'})Vue.component('child-one',{  template:'<div>child-one</div>'})var vm = new Vue({  el:'#app',  data:{    type:'child'  },  methods:{    handleClick:function(){      this.type = (this.type === 'child' ? 'child-one' : 'child')    }  }})</script>            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 华坪县| 濮阳县| 江油市| 乌兰浩特市| 九龙城区| 南通市| 千阳县| 北碚区| 星座| 大新县| 吉安县| 镇坪县| 彰化市| 西吉县| 天祝| 四川省| 浦城县| 阿拉善盟| 安西县| 崇左市| 临沭县| 芷江| 东乌| 连山| 太谷县| 玛多县| 北宁市| 额济纳旗| 闸北区| 故城县| 容城县| 泽库县| 嘉鱼县| 靖远县| 迁西县| 焦作市| 西充县| 温州市| 财经| 夹江县| 蒙阴县|