解決vue 退出動畫無效的問題
遇到一個問題:給模態(tài)框加入退出動畫,進(jìn)入的動畫效果是有的,可是退出的動畫就沒有了。
寫個簡單的結(jié)構(gòu):
<div v-show='warning'><br><transition name='warning'><br><div v-show=“warning” class='warning-modal'><br><p>請登錄</p><br></div><br></transition><br></div>
.mask是遮罩層,.warning-modal是顯示模態(tài)框的內(nèi)容。
如果像上面的結(jié)構(gòu),會遇到我上述的問題。因為warning-modal包裹在.mask遮罩層里面。但是.mask沒有動畫,一點(diǎn)擊關(guān)閉,.mask沒有動畫,就直接消失了,warning-modal跟著.mask消失,它的退出動畫我們也就看不到了。如果把transition放在外面。
<transition name='warning'> <div v-show='warning'><div v-show=“warning” class='warning-modal'><p>請登錄</p></div> </div></transition>
很顯然 ,遮罩層也會跟著提醒框有動畫!
我的解決方法的做法是加兩個transition
<transition name='mask'> <div v-show='warning'> <transition name='warning'> <div v-show=“warning” class='warning-modal'> <p>請登錄</p> </div></transition></div></transition>//然后給maskde 退出動畫增加transition-delay屬性。.mask-leave-active{ transition:all 1s; transition-delay:1s;}
補(bǔ)充知識:vue利用三目運(yùn)算符綁定class
通過三目運(yùn)算符來綁定class是一種比較常見的操作
需要注意的是要在data里面聲音下class的名稱
<p :class='isIncrse?incrseP:downP'>環(huán)比<i></i>{{item.num}}</p>data() { return { isIncrse: true, incrseP: ’incrseP’, downP: ’downP’ }}
.downP { color: red;}.incrseP { color: pink;}
以上這篇解決vue 退出動畫無效的問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. XML入門的常見問題(一)2. html小技巧之td,div標(biāo)簽里內(nèi)容不換行3. PHP字符串前后字符或空格刪除方法介紹4. jsp cookie+session實(shí)現(xiàn)簡易自動登錄5. jsp實(shí)現(xiàn)登錄界面6. css進(jìn)階學(xué)習(xí) 選擇符7. 將properties文件的配置設(shè)置為整個Web應(yīng)用的全局變量實(shí)現(xiàn)方法8. 解析原生JS getComputedStyle9. Echarts通過dataset數(shù)據(jù)集實(shí)現(xiàn)創(chuàng)建單軸散點(diǎn)圖10. AspNetCore&MassTransit Courier實(shí)現(xiàn)分布式事務(wù)的詳細(xì)過程
