zoukankan      html  css  js  c++  java
  • Vue(九):vue过渡

      前言:Vue的官网上提供了两种过渡的效果,一个呢是对元素的过渡,比如元素渐变消失,旋转着出现之类的。另外一种呢,是监测数据,比如你把一个数值从0改到10,显示出来的效果就是从0变成1,变成2...变成10,根据这个还能搞颜色的过渡。在我看来,这些过渡还是比较炫酷的,毕竟没见过啥世面。这里做一个简单的介绍吧,以后要是能用到,也算了解过。

    1、元素过渡
      Vue提供了transition组件,我一开始想说标签来着,但是官网说是组件,那应该就是一个全局的组件,在组件中放了一个插槽。
      首先我们要给transition组件设置一个name的值,然后vue会自动根据这个对应的值渲染对应的class,这个对应的class是谁搞的呢?是你。vue在渲染transition这个组件的时候,会根据先后顺序切换6个class,这6个class分别是v-enter、v-enter-active、v-enter-to、v-leave、v-leave-active、v-leave-to。还记得我们之前说的name值吗?假设我们设的name值是class1,那么vue就会寻找一个叫”class1-enter“的class,然后切换至“class1-enter-active”······最后切换至“class1-leave-to”,没错,name值替换的就是v。我们通过设置“class1-enter“呀、“class1-enter-active”呀这些class来搞事情。照例上段代码:

    <template>
        <div id="demo">
      <button v-on:click="show = !show">
        Toggle
      </button>
      <transition name="fade">
        <p v-if="show">hello</p>
      </transition>
    </div>
    </template>
    
    <script>
    export default {
        data() {
            return{
                show: true
            }
        }
    }
    </script>
    
    <style>
    .fade-enter-active, .fade-leave-active {
      transition: opacity .5s;
    }
    .fade-enter, .fade-leave-to /* .fade-leave-active below version 2.1.8 */ {
      opacity: 0;
    }
    </style>
    

      CSS 动画用法同 CSS 过渡,区别是在动画中 v-enter 类名在节点插入 DOM 后不会立即删除,而是在 animationend 事件触发时删除。

      同时,该组件也提供了一堆生命钩子,我们可以在提供的生命钩子中填入自定义的方法。生命钩子如下

    <transition
      v-on:before-enter="beforeEnter"
      v-on:enter="enter"
      v-on:after-enter="afterEnter"
      v-on:enter-cancelled="enterCancelled"
    
      v-on:before-leave="beforeLeave"
      v-on:leave="leave"
      v-on:after-leave="afterLeave"
      v-on:leave-cancelled="leaveCancelled"
    >
      <!-- ... -->
    </transition>
    

    2、状态过渡

      这里讲解的就比较简单了,因为,太难了。我们在前言里面讲过,状态过渡,主要就是监测数据,监测数据的也是我们的老朋友了,侦听器。这里配合着第三方的动画库呀啥的,就完成我在前言里说的效果了。一句话:我对他的认知,就是通过监听数据,配合第三方的动画库,搞各种骚操作。具体怎么操作,就不细细研究了。

  • 相关阅读:
    20201009 SpringBoot WebFlux 笔记
    20200930 尚硅谷 Netty【归档】
    20200930 11. 用Netty 自己 实现 dubbo RPC
    如何要注销按钮更加优雅,点击过程 会有友情提示
    浏览器执行代码 是jsp 服务端执行的是<%%>
    细谈getRequestDispatcher()与sendRedirect()的区别
    session.invalidate()
    python中的列表的嵌套与转换
    基于ajax 验证表单是否被占用----------------附:10.25日总结
    如何避免提交页面,信息未填写完善 就出现注册成功提示 基于js
  • 原文地址:https://www.cnblogs.com/liangshibo/p/12982670.html
Copyright © 2011-2022 走看看