javascript - vue的 过渡动画 可以不通过 show if 触发吗? 怎么做呢??
PHP中文网
PHP中文网 2017-04-11 11:46:20
[JavaScript讨论组]

vue 的过度动画通过添加 transition 特性,在元素插入删除或者隐藏显示时会被触发, 但是如果我只是想在某项操作后,触发一个元素的 vue 动画该如何实现呢??

 

click

比如上面的代码,slide-edit-box 的动画会在 editShow 改变时触发,但是我现在想在点击 btn 的时候触发动画效果

PHP中文网
PHP中文网

认证高级PHP讲师

全部回复(2)
PHPz

可以按普通的css3动画思路来实现。

将transition属性和初始css动画属性定义在一个常驻class上,比如.slide-edit-box
然后把动画触发之后的css属性定义在一个新的临时class上,比如.slide-edit-box-anime

然后给btn绑定一个给动画dom添加class的方法就可以了。

data () {
  return {
    class: ''
  }
},
methods: {
  anime () {
    this.class = 'slide-edit-box-anime'
  }
}
高洛峰
<section class="modal-wrap" v-if="showWrap" v-bind:class="show?'active':''">
    <p class="yo-modal ani" @click.self="close"></p>
    <slot></slot>
</section>

类似父元素和子元素进行动画,父元素必须等待子元素进行动画结束后才可以消失,使用Vue2.0因为props不再支持双向绑定,如果再使用transition会很难操作,最后直接通过操作class结合watch实现

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号