Vue.js 由变换移动的变换元素?

Vue.js 由变换移动的变换元素?,vue.js,Vue.js,Vue中的转换非常好,但问题是,当DOM在某些内容消失后重新调整时,会产生不和谐。因此,具有过渡的东西会淡入淡出,但随后所有周围的元素都会进入合成空间 人们是如何处理的?这取决于你想要达到什么效果。如果您想淡出,那么将其他页面元素滑入到位,您可能希望使用javascript动画,而不是标准的淡出过渡。使用jQuery或类似的工具,这种效果非常直接。您只需在视图模型中创建两个方法,并使用v-on:enter和v-on:leave绑定它们,这样在HTML中您就可以: <transition

Vue中的转换非常好,但问题是,当DOM在某些内容消失后重新调整时,会产生不和谐。因此,具有过渡的东西会淡入淡出,但随后所有周围的元素都会进入合成空间


人们是如何处理的?

这取决于你想要达到什么效果。如果您想淡出,那么将其他页面元素滑入到位,您可能希望使用javascript动画,而不是标准的淡出过渡。使用jQuery或类似的工具,这种效果非常直接。您只需在视图模型中创建两个方法,并使用
v-on:enter
v-on:leave
绑定它们,这样在HTML中您就可以:

  <transition v-on:enter="slideFadeIn" v-on:leave="fadeSlideOut">
    <div v-show="show">
       // Fadeable content
    </div>
  </transition>
然后确保在
数据中有一个标志,可以切换以显示和隐藏元素:

data: {
  show: true
}
这里有一个完整的JSFIDLE:

当然,你可以调整它来制作你想要的几乎任何类型的动画,这里有一个可以同时淡入淡出和滑动的小提琴:

不过,如果您喜欢这种效果,您也可以使用普通过渡来实现,这会更整洁一些:


我认为您可能需要改进CSS和html,请先显示您的html标记和转换CSS。谢谢您的帮助-通过您的代码,我终于取得了成功。我将不得不考虑是否值得为此添加velocity(与jQuery中的上述内容等效的内容是什么?我已经在项目中使用过了),velocity的设计基本上允许您将其与
jQuery
交换,因此
jQuery
代码是类似的,下面是更新的fiddle:Gah!不适用于jQuery lite。这让我觉得我真的很放纵,只为这个带来额外的框架批量。另一方面,这是一个非常好的效果…再次感谢。
data: {
  show: true
}