多个元素的过渡
  
  <style>
  
  .v-enter,.v-leave-to{
  
  opacity: 0;
  
  }
  
  .v-enter-acitve,.v-leave-active{
  
  opacity: opacity 1s;
  
  }
  
  </style>
  
  <div id='app'>
  
  <transition>
  
  <div v-if='show'>hello world</div>
  
  <div v-else>bye world</div>
  
  </transition>
  
  <button @click='handleClick'>切换</button>
  
  </div>
  
  <script>
  
  var vm = new Vue({
  
  el:'#app',
  
  data:{
  
  show:true
  
  },
  
  methods:{
  
  handleClick:function(){
  
  this.show = !this.show;
  
  }
  
  }
  
  })
  
  </script>
  
  //前端全栈学习交流圈:866109386
  
  //面向1-3经验年前端开发人员
  
  //帮助突破技术瓶颈,提升思维能力
  
  按照之前的写法方式,渐隐渐出的效果并没有出现该有的效果,那么为什么呢? 在if else两个元素切换的时候,会尽量的复用dom,正是vue,dom的复用,导致动画的效果不会出现,如果想要vue不去复用dom,之前也说过,怎么做呢,给两个div不同的key值就行了
  
  <div v-if='show' key='hello'>hello world</div>
  
  <div v-else key='bye'>bye world</div>
  
  这样就可以有个明显的动画效果,多个元素过渡动画的效果。
  
  transition还提供了一个mode属性,in-out是先显示再隐藏,out-in是先隐藏再显示
  
  多个组件的过渡
  
  <style>
  
  .v-enter, .v-leave-to {
  
  opacity: 0;
  
  }
  
  .v-enter-acitve, .v-leave-active {
  
  transition: opacity 1s;
  
  }
  
  </style>
  
  <div id='app'>
  
  <transition mode='out-in'>
  
  <child v-if='show'></child>
  
  <child-one v-else></child-one>
  
  </transition>
  
  <button @click='handleClick'>切换</button>
  
  </div>
  
  <script>
  
  Vue.component('child',{
  
  template:'<div>child</div>'
  
  })
  
  Vue.component(www.mingcheng178.com'child-one',{
  
  template:'<div>child-one</div>'
  
  })
  
  var vm = new Vue({
  
  el:'#app',
  
  data:{
  
  show:true
  
  },
  
  methods:{
  
  handleClick:function(www.gcyL157.com){
  
  this.show =www.mhylpt.com !this.show;
  
  }
  
  }
  
  })
  
  </script>
  
  //前端全栈学习交流圈:866109386
  
  //面向1-3经验年前端开发人员
  
  //帮助突破技术瓶颈,提升思维能力
  
  这个就是多个组件的过渡,采用的是上面的方式,替换子组件,那么我们换一种方式,用动态组件
  
  <style>
  
  .v-enter, .v-leave-to {
  
  opacity: 0;
  
  }
  
  .v-enter-acitve,www.gcyl152.com .v-leave-active {
  
  transition: opacity 1s;
  
  }
  
  </style>
  
  <div id=www.feifanyule.cn/'app'>
  
  <transition mode=www.haom178.com'out-in'>
  
  <component :is='type'></component>
  
  </transition>
  
  <button @click='handleClick'>切换</button>
  
  </div>
  
  <script>
  
  Vue.component('child',{
  
  template:'<div>child</div>'
  
  })
  
  Vue.component('child-one',{
  
  template:'<div>child-one</div>'
  
  })
  
  var vm = new Vue({
  
  el:'#app',
  
  data:{
  
  type:'child'
  
  },
  
  methods:{
  
  handleClick:function(){
  
  this.type = (this.type === 'child' ? 'child-one' : 'child')
  
  }
  
  }
  
  })
  
  </script>
  
  这样也实现了多个组件的过渡效果。

vue实现多个元素或多个组件之间动画效果的更多相关文章

  1. vue中多个元素或多个组件之间的动画效果

    多个元素的过渡 <style> .v-enter,.v-leave-to{ opacity: 0; } .v-enter-acitve,.v-leave-active{ opacity: ...

  2. ScrollReveal.js 用于创建和管理元素进入可视区域时的动画效果,帮助你的网站增加吸引力。

    ScrollReveal.js 用于创建和管理元素进入可视区域时的动画效果,帮助你的网站增加吸引力. 1.http://www.yangqq.com/jstt/css3/2017-08-08/787. ...

  3. 067——VUE中vue-router之使用transition设置酷炫的路由组件过渡动画效果

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. Vue 爬坑之路(二)—— 组件之间的数据传递

    Vue 的组件作用域都是孤立的,不允许在子组件的模板内直接引用父组件的数据.必须使用特定的方法才能实现组件之间的数据传递. 首先用 vue-cli 创建一个项目,其中 App.vue 是父组件,com ...

  5. (转)Vue 爬坑之路(二)—— 组件之间的数据传递

    Vue 的组件作用域都是孤立的,不允许在子组件的模板内直接引用父组件的数据.必须使用特定的方法才能实现组件之间的数据传递. 首先用 vue-cli 创建一个项目,其中 App.vue 是父组件,com ...

  6. Vue(基础四)_总结五种父子组件之间的通信方式

    一.前言 这篇文章主要总结了几种通信方式: 1.方式一:使用props: [ ]和$emit()  (适用于单层通信) 2.方式二:$attrs和$listeners(适用于多层) 3.方式三:中央处 ...

  7. vue 学习五 深入了解components(父子组件之间的传值)

    上一章记录了 如何在父组件中向子组件传值,但在实际应用中,往往子组件也要向父组件中传递数据,那么此时我们应该怎么办呢 1.在父组件内使用v-on监听子组件事件,并在子组件中使用$emit传递数据 // ...

  8. vue中,模拟锚点定位,实现滚动动画效果

    平时我们利用锚点进行页面内的快速瞬移,画面跳转生硬,观感很差. 在VUE中,如何快速的实现锚点效果,并且还让它拥有滚动的动画效果呢. 其实两行代码就能解决问题 1 <a @click=" ...

  9. css3中变形函数(同样是对元素来说的)和元素通过改变自身属性达到动画效果

    /*对元素进行改变(移动.变形.伸缩.扭曲)*/ .wrapper{ margin:100px 100px auto auto; width:300px; height:200px; border:2 ...

随机推荐

  1. LeetCode297. Serialize and Deserialize Binary Tree

    题目 序列化是将一个数据结构或者对象转换为连续的比特位的操作,进而可以将转换后的数据存储在一个文件或者内存中,同时也可以通过网络传输到另一个计算机环境,采取相反方式重构得到原数据. 请设计一个算法来实 ...

  2. BFS练习-POJ.2386

    Lake Counting Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 35122 Accepted: 17437 Descr ...

  3. Mybatis基础入门学习

    Mybatis基础入门学习 mybatis架构分析 搭建测试mybatis架构 )下载并导入mybatis3.2.7.jar(架构),mysql-connector-java-5.1.7-bin.ja ...

  4. Java - 静态内部类

    Java语言允许在类中再定义类,这种在其它类内部定义的类就叫内部类.内部类又分为:常规内部类.局部内部类.匿名内部类和静态嵌套类四种. 1.静态内部类定义 静态内部类,定义在类中,任何方法外,用sta ...

  5. Java - 关于基础数据类型的形参和返回值

    1. 当基础数据类型被当作形参时,最好使用其包装类,因为这样可方便调用者传参(基础数据类型亦或是其包装类都可)   2. 当基础数据类型被当作返回值时,最好使用原型,因为这样可以方便调用者接收返回值( ...

  6. mysql 命令 小结

    CREATE DATABASE IF NOT EXISTS yourdbname DEFAULT CHARSET utf8 COLLATE utf8_general_ci;创建中文数据库show gl ...

  7. js字符转数字

    js字符串转数字 转换函数.强制类型转换.利用js变量弱类型转换. 1. 转换函数: js提供了parseInt()和parseFloat()两个转换函数.前者把值转换成整数,后者把值转换成浮点数.只 ...

  8. 【CodeBase】【转】php随机生成汉字

    本方法是通过生成GB2312编码的汉字后,再转码为UTF-8编码.之所以这样做是因为UTF-8的常用汉字太过分散,随机生成会出现大量生僻字,而使用GB2312编码的好处在于其收录的大部分汉字为常用汉字 ...

  9. Java源码解析——Java IO包

    一.基础知识: 1. Java IO一般包含两个部分:1)java.io包中阻塞型IO:2)java.nio包中的非阻塞型IO,通常称为New IO.这里只考虑到java.io包中堵塞型IO: 2. ...

  10. Python常用函数记录

    Python常用函数/方法记录 一. Python的random模块: 导入模块: import random 1. random()方法: 如上如可知该函数返回一个[0,1)(左闭右开)的一个随机的 ...