Vue復(fù)習(xí):transition動(dòng)畫對(duì)于復(fù)用組件動(dòng)畫添加失敗的解決辦法

1铛只、transition過渡

Vue在插入墩弯、更新或者移除DOM時(shí)咒彤,提供了多種不同的方式的應(yīng)用過渡效果

1.1、單個(gè)元素的過渡

通過添加一些CSS動(dòng)畫或者直接使用animate.css動(dòng)畫庫(kù)即可

1.2厌蔽、多個(gè)元素的過渡

多個(gè)元素的過渡切換存在兩種情況發(fā)生,一種是這些元素是不同的摔癣,不同的組件或是不同的標(biāo)簽元素奴饮,這種就很好處理,直接寫在transition內(nèi)部即可
但是針對(duì)相同組件或者相同的標(biāo)簽元素切換時(shí)供填,就需要通過key的特性設(shè)置唯一的值來標(biāo)記拐云,讓Vue能夠區(qū)分他們是不同的,否則沒有元素的銷毀與創(chuàng)建的過程近她,在Vue中是直接進(jìn)行復(fù)用了叉瘩,也就是說,直接在組件或元素的內(nèi)部單純的將數(shù)據(jù)更新粘捎,重新渲染視圖薇缅,這樣動(dòng)畫添加則會(huì)失敗。
1攒磨、不加key值的情況:

<transition 
    name="custom-classes-transition"
    enter-active-class="animated slideInLeft"
    leave-active-class="animated slideOutRight">
    <p v-if="isShow">測(cè)試Animate.css動(dòng)畫庫(kù)的動(dòng)畫效果</p>
    <p v-else>測(cè)試同名組件或者標(biāo)簽動(dòng)畫</p>
</transition>

未加key值的動(dòng)畫.gif

可以看出泳桦,雖然是兩個(gè)不同的p標(biāo)簽元素,以及內(nèi)容也不一樣娩缰,但是在渲染時(shí)灸撰,此時(shí)的p標(biāo)簽DOM并未發(fā)生重新生成,所以動(dòng)畫是沒有的。
2浮毯、添加key值的情況:

<transition 
    name="custom-classes-transition"
    enter-active-class="animated slideInLeft"
    leave-active-class="animated slideOutRight">
    <p v-if="isShow" :key="1">測(cè)試Animate.css動(dòng)畫庫(kù)的動(dòng)畫效果</p>
    <p v-else :key="2">測(cè)試同名組件或者標(biāo)簽動(dòng)畫</p>
</transition>

添加key值的動(dòng)畫.gif

上圖可以看出來完疫,雖然是實(shí)現(xiàn)了動(dòng)畫效果的追加,但是貌似動(dòng)畫效果是同一時(shí)間觸發(fā)的這個(gè)問題也就導(dǎo)致了動(dòng)畫效果有點(diǎn)沖突债蓝,樣式的重疊壳鹤。

1.3、解決動(dòng)畫效果同一時(shí)間觸發(fā)的問題

像上述的gif動(dòng)圖饰迹,在key值為1的標(biāo)簽leave的過程中芳誓,key值為2的標(biāo)簽就觸發(fā)了enter操作,那么在key為2的標(biāo)簽一進(jìn)去的時(shí)候啊鸭,上面那個(gè)元素還是處于占位的狀態(tài)锹淌,因此,這時(shí)莉掂,就需要加入一個(gè)模式mode屬性葛圃,來決定元素的出場(chǎng)順序。
mode屬性:
mode屬性共有兩種狀態(tài)憎妙,一是out-in库正,另外一種是in-out,字面意思上的理解就是這兩種模式的理解:一種是先離場(chǎng)再進(jìn)場(chǎng)厘唾,一種是先進(jìn)場(chǎng)再離場(chǎng)
示例:

<template>
  <div id="demo">
    <button @click="isShow = !isShow">click</button><br />
    <transition name="myfade" mode="out-in">
      <div v-if="isShow" :key="1">測(cè)試Animate.css動(dòng)畫庫(kù)的動(dòng)畫效果</div>
      <div v-else :key="2">測(cè)試同名組件或者標(biāo)簽動(dòng)畫</div>
    </transition>
  </div>
</template>

<script>
export default {
  name: "demo",
  data() {
    return {
      isShow: true,
    };
  },
};
</script>

<style scoped>
/* 效果過程 */
.myfade-enter-active,
.myfade-leave-active {
  transition: all 0.8s linear;
}
/* 進(jìn)場(chǎng)的瞬間與離場(chǎng)的效果添加 */
.myfade-enter,
.myfade-leave-to {
  opacity: 0;
  transform: translateX(200px);
}
</style>
添加mode.gif

這樣添加transition動(dòng)畫的一系列的問題大概分析清楚了褥符,就可以很好的去做需要做的動(dòng)畫效果了。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末抚垃,一起剝皮案震驚了整個(gè)濱河市喷楣,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌鹤树,老刑警劉巖铣焊,帶你破解...
    沈念sama閱讀 217,907評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異罕伯,居然都是意外死亡曲伊,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門追他,熙熙樓的掌柜王于貴愁眉苦臉地迎上來坟募,“玉大人,你說我怎么就攤上這事邑狸⌒概矗” “怎么了?”我有些...
    開封第一講書人閱讀 164,298評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵单雾,是天一觀的道長(zhǎng)赚哗。 經(jīng)常有香客問我她紫,道長(zhǎng),這世上最難降的妖魔是什么屿储? 我笑而不...
    開封第一講書人閱讀 58,586評(píng)論 1 293
  • 正文 為了忘掉前任犁苏,我火速辦了婚禮,結(jié)果婚禮上扩所,老公的妹妹穿的比我還像新娘。我一直安慰自己朴乖,他們只是感情好祖屏,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,633評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著买羞,像睡著了一般袁勺。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上畜普,一...
    開封第一講書人閱讀 51,488評(píng)論 1 302
  • 那天期丰,我揣著相機(jī)與錄音,去河邊找鬼吃挑。 笑死钝荡,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的舶衬。 我是一名探鬼主播埠通,決...
    沈念sama閱讀 40,275評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼逛犹!你這毒婦竟也來了端辱?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,176評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤虽画,失蹤者是張志新(化名)和其女友劉穎舞蔽,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體码撰,經(jīng)...
    沈念sama閱讀 45,619評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡渗柿,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,819評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了灸拍。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片做祝。...
    茶點(diǎn)故事閱讀 39,932評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖鸡岗,靈堂內(nèi)的尸體忽然破棺而出混槐,到底是詐尸還是另有隱情,我是刑警寧澤轩性,帶...
    沈念sama閱讀 35,655評(píng)論 5 346
  • 正文 年R本政府宣布声登,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏悯嗓。R本人自食惡果不足惜件舵,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,265評(píng)論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望脯厨。 院中可真熱鬧铅祸,春花似錦、人聲如沸合武。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,871評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽稼跳。三九已至盟庞,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間汤善,已是汗流浹背什猖。 一陣腳步聲響...
    開封第一講書人閱讀 32,994評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留红淡,地道東北人不狮。 一個(gè)月前我還...
    沈念sama閱讀 48,095評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像在旱,于是被迫代替她去往敵國(guó)和親荤傲。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,884評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容