vue 退出動畫無效解決方法

遇到一個問題:給模態框加入退出動畫,進入的動畫效果是有的,但是退出的動畫就沒有了。javascript

寫個簡單的結構:java

<div class="mask" v-show="warning">
  <transition name="warning">
    <div v-show=「warning」 class="warning-modal">
      <p>請登陸</p>
    </div>
  </transition>
</div>

 

.mask是遮罩層,.warning-modal是顯示模態框的內容。動畫

 

若是像上面的結構,會遇到我上述的問題。由於warning-modal包裹在.mask遮罩層裏面。可是.mask沒有動畫,一點擊關閉,.mask沒有動畫,就直接消失了,warning-modal跟着.mask消失,它的退出動畫咱們也就看不到了。若是把transition放在外面。spa

<transition name="warning">
    <div class="mask" v-show="warning">
    <div v-show=「warning」 class="warning-modal">
      <p>請登陸</p>
    </div>
    </div>  
</transition>

 很顯然 ,遮罩層也會跟着提醒框有動畫!code

 

個人解決方法的作法是加兩個transitionblog

<transition name="mask">
    <div class="mask" v-show="warning">
      <transition name="warning"> 
        <div v-show=「warning」 class="warning-modal">
        <p>請登陸</p>
        </div>
    </transition> 
  </div>   
</transition>

//而後給maskde 退出動畫增長transition-delay屬性。ip

.mask-leave-active{
      transition:all 1s;
      transition-delay:1s;
}it

相關文章
相關標籤/搜索