用VueJS转换v-for

chl*_*les 4 javascript vue.js

使用VueJS在v-for中显示的图像无法实现淡入淡出.我想使用next/prev按钮按图像显示图像.

我在文档中读到了这个:

Vue提供了一个转换包装器组件,允许您在以下上下文中为任何元素或组件添加进入/离开转换:

  • 条件渲染(使用v-if)

  • 条件显示(使用v-show)

  • 动态组件

  • 组件根节点

所以我安排我的代码在我的v-for中有一个v-if.

这里有一段代码:

<transition name="fade">
   <img id='pvw' v-for='day in days' :src='day.preview' v-if='day.current' title='Preview' />
</transition>
Run Code Online (Sandbox Code Playgroud)

还有一点点css:

.fade-enter-active, .fade-leave-active {
  transition: opacity .5s
}
.fade-enter, .fade-leave-active {
  opacity: 0
}
Run Code Online (Sandbox Code Playgroud)

是小提琴,看看我想做什么.

请帮助我实现这一点,不知道为什么它不起作用.

M U*_*M U 9

你必须使用TRANSITION GROUP,而不是TRANSITION.

我建议使用类似的东西:https://github.com/asika32764/vue2-animate 这是一个很棒的包,它允许你在你的Vue应用程序中使用AnimateCSS的CSS动画.

例如,在您的情况下,您将使用类似的东西:

<transition-group name="fadeLeft" tag="div" >
    <img v-for="day in days" :src='day.preview'  v-bind:key="day" v-if='day.current' title='Preview'>  
</transition-group>
Run Code Online (Sandbox Code Playgroud)