国产探花免费观看_亚洲丰满少妇自慰呻吟_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>            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 沭阳县| 台北县| SHOW| 赣州市| 福贡县| 全椒县| 洛宁县| 临漳县| 兴业县| 忻城县| 抚顺县| 吴忠市| 白河县| 伊宁县| 白沙| 剑河县| 二连浩特市| 岳西县| 静海县| 乐山市| 讷河市| 兴宁市| 灵台县| 平原县| 名山县| 广东省| 长兴县| 江阴市| 嘉义县| 临桂县| 当涂县| 永德县| 和林格尔县| 固始县| 临漳县| 广饶县| 城口县| 米易县| 宜阳县| 抚松县| 安国市|