首页 > 代码库 > vue 过渡的坑

vue 过渡的坑

 

 

说一下自己使用vue过渡时爬的坑

第一

    <transition v-for=" "   key=" "  @before-enter="beforeEnter"   @enter="enter"  @after-enter="afterEnter">

        <div> ... </div>

    </transition>

   

    <transiton-group tag=" ">

         <div v-for=" "  key= " "     @before-enter="beforeEnter"   @enter="enter"  @after-enter="afterEnter" >

                 .........

         </div>

    <transition-group>

 分清上面两个过渡的不同.  虽然都用了v-for,  但 第一个 是单元素的过渡,    第二个 是列表过渡.  要搞清楚.

 

第二

   就是关于afterEnter钩子.  上面第一种情况(即,单元素过渡中) 连续触发多个过渡, 有时afterEnter钩子不执行.

   连续触发3个过渡  却只执行了2次aterEnter钩子

技术分享

技术分享

技术分享

技术分享

 

afterEnter钩子只执行了2次,这样就出问题了.

怎么解决呢 ? 我不使用afterEnter钩子,  在enter钩子中使用了定时器,设置延时时间跟过渡时间一样.

当然这不是一个好办法, 但至少解决问题了.

如果要真正的解决问题,还是得看vue源码, 看是钩子过渡是怎么实现的,然后去解决问题, 关键是本人现在看源码还有点困难.

技术分享

就这样解决了.

 

以上就是我在使用vue过渡中爬过的两个坑. 

如果有大神帮解释一下vue过渡钩子的源码,或者用其他办法解决afterEnter钩子问题, 欢迎留言.

vue 过渡的坑