将一个子组件从父组件中删除,并添加到另一个父组件,这个操作可以做成移动动画吗?
我在做一个国际象棋组件,用square表示棋盘上的位置,棋子是一个img位于square组件里面,我想要支持点击操作,点了棋子后再点目标格子,我希望能做出移动动画将棋子移动到目标格,这个可以用css来实现吗?transition属性好像不支持,vue有一个transition组件,但是我不太了解能不能做。
p.s. 我是觉得这个不像是少见的需求,想问问有没有已经有的通用做法。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
了解一下FLIP概念.
具体实现可以这样.
vue的
transition
需要配合v-if
或v-show
使用;分成2层:一层 棋盘,一层 棋子
这样就不需要 从一个组件移动到另一个组件,只需要修改 位置
现在我的想法是单独弄一层做动画用,位置直接从组件获得,这样不用计算所有的棋子位置,只需要一个棋子就够了。@Fractal和@redbuck都对这个想法有帮助,由于@redbuck的说法更细致,对我帮助更大一点,我就采纳@redbuck的回答。谢谢 @redbuck @Fractal @凯迪Wen .我搞错了,直接按redbuck说的做更简单。