vue中组件的过渡动画及实现代码


Posted in Javascript onNovember 21, 2018

1.  和多个元素的过渡一样,用组件来替换transition中包裹的标签

<style>
 .fade-enter,
 .fade-leave-to {
  opacity: 0
 }
 .fade-enter-active,
 .fade-leave-active {
  transition: opacity 2s
 }
 </style>
</head>

<body>
 <div id="demo">
 <button @click="show = !show">click me</button>
 <transition name="fade" mode="in-out">
  <child-one v-if="show"></child-one>
  <child-two v-else></child-two>
 </transition>
 </div>
 <script>
 Vue.component('child-one', {
  template: `<div>child-one</div>`
 })
 Vue.component('child-two', {
  template: `<div>child-two</div>`
 })
 new Vue({
  el: '#demo',
  data: {
  show: true
  },
 })
 </script>

2.  动态组件:component组件 :is 属性,来实现组件的过渡效果 

<style>
 .fade-enter,
 .fade-leave-to {
  opacity: 0
 }
 .fade-enter-active,
 .fade-leave-active {
  transition: opacity 2s
 }
 </style>
</head>

<body>
 <div id="demo">
 <button @click="handleClick">click me</button>
 <transition name="fade" mode="in-out">
  <component :is="type"></component>
 </transition>
 </div>
 <script>
 Vue.component('child-one', {
  template: `<div>child-one</div>`
 })
 Vue.component('child-two', {
  template: `<div>child-two</div>`
 })
 new Vue({
  el: '#demo',
  data: {
  type: 'child-one'
  },
  methods:{
  handleClick () {
   this.type = this.type === 'child-one' ? 'child-two' : 'child-one'
  }
  }
 })
 </script>

PS:下面看下Vue过渡动画实现

实现一个点击切换元素的隐藏和显示状态!

<div id="app">
  <transition>
    <p v-if="show">Hello World</p>
  </transition>
  <button @click="toggle">切换</button>
</div>

需要把加入动画的元素放在transition组件内,定义一个按钮的切换方法

<script>
  var app=new Vue({
    el:"#app",
    data:{
      show:true
    },
    methods:{
      toggle:function(){
        this.show=!this.show;
      }
    }

  })
</script>

给不同状态下添加相应的样式

.v-enter,.v-leave-to{
  opacity:0;
}
.v-enter-active,.v-leave-to{
  color:#00BFFF;
  transition: opacity 3s;
}

可以给transition添加一个name,如果name为"fade",则class前缀为指定的name

动画过程中类名的变化

vue中组件的过渡动画及实现代码

我们可以自定义类名,在元素属性中添加进入状态 enter-active-class,和离开状态leave-active-class

总结

以上所述是小编给大家介绍的vue中组件的过渡动画及实现代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
jquery 插件开发方法小结
Oct 23 Javascript
自写的一个jQuery圆角插件
Oct 26 Javascript
各浏览器对link标签onload/onreadystatechange事件支持的差异分析
Apr 27 Javascript
node.js中使用q.js实现api的promise化
Sep 17 Javascript
js实现的简洁网页滑动tab菜单效果代码
Aug 24 Javascript
Node.js环境下编写爬虫爬取维基百科内容的实例分享
Jun 12 Javascript
AngularJS动态加载模块和依赖的方法分析
Nov 08 Javascript
Angularjs之filter过滤器(推荐)
Nov 27 Javascript
jQuery动态添加li标签并添加属性和绑定事件方法
Feb 24 jQuery
vue集成百度UEditor富文本编辑器使用教程
Sep 21 Javascript
小程序实现单选多选功能
Nov 04 Javascript
详解vue中的computed的this指向问题
Dec 05 Javascript
详解promise.then,process.nextTick, setTimeout 以及 setImmediate的执行顺序
Nov 21 #Javascript
Nuxt.js之自动路由原理的实现方法
Nov 21 #Javascript
nuxt.js中间件实现拦截权限判断的方法
Nov 21 #Javascript
Nuxt.js SSR与权限验证的实现
Nov 21 #Javascript
详解nuxt路由鉴权(express模板)
Nov 21 #Javascript
使用vue-cli webpack 快速搭建项目的代码
Nov 21 #Javascript
Angular刷新当前页面的实现方法
Nov 21 #Javascript
You might like
yii上传文件或图片实例
2014/04/01 PHP
ThinkPHP中__initialize()和类的构造函数__construct()用法分析
2014/11/29 PHP
分享PHP计算两个日期相差天数的代码
2015/12/23 PHP
深入讲解PHP的Yii框架中的属性(Property)
2016/03/18 PHP
PHP删除字符串中非字母数字字符方法总结
2019/01/20 PHP
一些不错的js函数ajax
2008/08/20 Javascript
在网页里看flash的trace数据的js类
2009/01/10 Javascript
IE和FireFox(FF)中js和css的不同
2009/04/13 Javascript
js 操作select相关方法函数
2009/12/06 Javascript
悄悄用脚本检查你访问过哪些网站的代码
2010/12/04 Javascript
JQuery中如何传递参数如click(),change()等具体实现
2013/04/28 Javascript
php与js的区别是什么
2013/08/05 Javascript
js实现宇宙星空背景效果的方法
2015/03/03 Javascript
JavaScript实现拖拽网页内元素的方法
2015/04/15 Javascript
浅析在javascript中创建对象的各种模式
2016/05/06 Javascript
微信小程序-图片、录音、音频播放、音乐播放、视频、文件代码实例
2016/11/22 Javascript
vue 和vue-touch 实现移动端左右导航效果(仿京东移动站导航)
2017/04/22 Javascript
JS秒杀倒计时功能完整实例【使用jQuery3.1.1】
2019/09/03 jQuery
解决layer.confirm快速点击会重复触发事件的问题
2019/09/23 Javascript
从Node.js事件触发器到Vue自定义事件的深入讲解
2020/06/26 Javascript
Python的函数的一些高阶特性
2015/04/27 Python
老生常谈Python进阶之装饰器
2017/05/11 Python
node.js获取参数的常用方法(总结)
2017/05/29 Python
python 使用socket传输图片视频等文件的实现方式
2019/08/07 Python
python虚拟环境的安装和配置(virtualenv,virtualenvwrapper)
2019/08/09 Python
python开发一款翻译工具
2020/10/10 Python
HTML5无刷新改变当前url的代码
2017/03/15 HTML / CSS
节省高达65%的城市景点费用:Go City
2019/07/06 全球购物
软件测试英文面试题
2012/10/14 面试题
什么是GWT的Module
2013/01/20 面试题
运动会开幕式主持词
2014/03/28 职场文书
学校节能减排倡议书
2014/05/16 职场文书
群众路线教育实践活动学习笔记内容
2014/11/06 职场文书
党的群众路线学习笔记
2014/11/06 职场文书
工作会议简报
2015/07/20 职场文书
python调用ffmpeg命令行工具便捷操作视频示例实现过程
2021/11/01 Python