Uso de animação vue

vue em transição terá a sua própria animação, consulte o site oficial: https://cn.vuejs.org/v2/guide/transitions.html

1.transition

<transition> </ transição> elementos de transição etiqueta é enrolada ou componentes internos

Condições: 1 deve ser um componente dinâmico, v-show / v-se

    pacote raiz 2.transition montagem,

Oferece nome de seis classe em transição, os efeitos de animação de transição

  • v-entrar no estado do início de animação
  • V-entrar-activo do processo de entrada
  • v-entrar-a entrar no estado final da animação
  • v-deixam esquerda para iniciar o processo de animação
  • V-licença ativo processo para deixar a animação
  • Após o estado de v-leave-à licença

Acima do nome da classe com transições CSS3 ou animações para ser concluído.

Em que, se a transição chamado nome de marca, como o nome = 'fade', o nome de classe é substituído com o acima descrito de fade-introduzir,

 

        / * 入场前状态* / 
        .fade -introduza, .fade-deixar- a { 
            opacidade: 0 ; 
        } 
        / * 过渡* / 
        .fade -introduza-activo, .fade-deixar- activo { 
            transição: opacidade 0 .5s; 
        } 
        / * 动画* / 
        .ant -enter- activa { 
            animação: salto - em 0 .5s; 
        } 
        .Ant -leave- activo { 
            animação: salto - em 0 .5s inversa 
        } 
        @Keyframes salto - em {
             0% { 
                transformação: escala ( 0 ); 
            }
             50% { 
                transformar: escala ( 1,5 ); 
            }
             100% { 
                transformar: escala ( 1 ); 
            } 
        }
     </ Style> 
</ head> 
<body> 
    <div id = "app"> 
        <button @ clique = "toggle">切换</ button> 
        <nome da transição = "fade"> 
            <div v-show =" mostrar "> Olá, mundo </ div>
        <nome da transição = "formiga">
            <div v-show = "show"> css动画</ div> 
        </ transition> 
    </ div> 
    <script> var app = new Vue ({ 
            el: '#app' , 
            dados: função () {
                 return { 
                    espectáculo : verdadeiro 
                } 
            }, 
            métodos: { 
                alternância () { isso ! .mostrar = este .mostrar 
                } 
            } 
        }) </ script> 
</ body>
        
                    
    

Lista de transição 2.transitionGroup

E diferença transitionGroup transição é que se houver vários componentes que, a transição não pode ser usado, necessidade transitionGroup

    <style> 
        .list - artigo { 
            display: inline - block; 
            margem - direita: 10px; 
        } 
        .List -introduza-activo, .list-deixar- activo { 
            transição: todos os 1s; 
        } 
        .List -Introduza, .list-deixar- para { 
            opacidade: 0 ; 
            transform: translateY (30px) 
        }
     </ style> 
</ head> 
<body> 
    <div id = "app"> 
        <button @ clique = "add"> Adicionar </ button> 
        <button @ clique = "Remover"> Remover <
        <name = "lista" tag = "p" de transição de grupo> 
            <span v- para = "item itens": key = "item" class = "list-item"> 
                {{artigo}}
             </ span> 
        < / transição grupo> 
    </ div>   
    <script> var app = new Vue ({ 
            el: "#app" , 
            dados: função () {
                 return { 
                    itens: [ 1,2,3,4,5,6,7 , 8,9 ], 
                    nextNum: 10 
                } 
            },
            Métodos: { 
                randomIndex () {
        
                    voltar Math.floor (Math.random () *este .items.length) 
                }, 
                add () { 
                    este .items.splice ( este .randomIndex (), 0, neste .nextNum ++ ) 
                }, 
                remove () { 
                    este .items.splice ( este .randomIndex (), 1 ) 
                } 
            }, 
        })
     </ script> 
</ body>

função 3.js gancho

Javascript gancho na transição pode declarar propriedades usando js atingir animação

  • antes de a introduzir (el) {} antes do início da animação, definir o estado inicial
  • entrar (el, feito) {} Animate
  • depois introduzir-(el) {} final da animação, limpeza
  • enter-cancelada (el) {} cancelar filme
  • before-licença (el) {}
  • sair (el, feito) {}
  • pós-licença (el) {}
  • cancelada-licença (el) {}

Onde, el representa a transição abaixo da montagem, feito a final é uma função de chamada de retorno, representando a transição está completa. Caso abaixo mostra o efeito de fazer.

  <style> 
    .fade -Introduza-ativo, .fade-deixar- activa { 
      transição: opacidade 0 .5s; 
    }
   </ Style> 
</ head> 

<body> 
  <div id = "app"> 
    <button @ clique = "toggle"> alternância </ button> 
    <nome da transição = "fade"  
      @Before -Introduza = "beforeEnter" 
      @ enter = "enter" 
      @Before -Deixar = "beforeLeave" 
      @leave = "licença"> 
      <div v-show = "show"> 
        Olá mundo ! 
      </ div> 
    </ transition>
    VUE ({ 
      EL: '#app' , 
      de dados: função () {
         return { 
          Show: a true 
        } 
      }, 
      Métodos: { 
        Alternar () { 
          a esta = O .Show! A este o .Show; 
        }, 
        // antes de entrar, a animação estado inicial 
        beforeEnter (EL) { 
          el.style.opacity = 0 ; 
        }, 
        // fim do estado de animação 
        Enter (EL, FEITO) { 
          el.style.opacity = 1. ;
           // ouvindo final dos eventos de animação, feito realizado, se não há fim evento ouvinte acima for exibido corretamente escondido, mas sempre ocupar o módulo posição div
          el.addEventListener ( 'transitionend' , DONE) 
        }, 
        // antes estado deixando 
        beforeLeave (EL) { 
          el.style.opacity = 1. ; 
        }, 
        // depois de deixar o estado 
        Leave (EL, FEITO) { 
          el.style.opacity = 0 ; 
          el.addEventListener ( 'transitionend' , DONE) 
        } 
      }, 
    })

   </ script> 
</ body>

4. A introdução de animação animate.css

A animação final é relativamente simples de conseguir efeitos de animação directamente através da introdução de animate.css,

  • introduzir-classe activa: animação para o processo de animação

  •  

    deixar-classe ativa: Animação deixar o processo de animação 

animate.css site oficial:  http://www.jq22.com/yanshi819

    <! -引入CSS动画库-> 
    <link href = "https://cdn.jsdelivr.net/npm/[email protected]" rel = "stylesheet" type = "text / css"> 
< / head> 
<body> 
    <div id = "app"> 
        <button @ clique = "toggle"> alternância </ button> 
        <transition introduzir-active-class = "animado bounceInLeft" 
            deixar -active-class = "animado bounceOutLeft" > 
            <div v-show = "show"> mundo hellow </ div> 
        </ transition> 
    </ div> 
    <script> var app = new Vue ({ 
            el: '#app' ,
            dados () { return { 
                    show: falsa
        
                
                } 
            }, 
            Métodos: { 
                alternância () { 
                    este .mostrar =! este .mostrar 
                } 
            }, 
        })
     </ script> 
</ body>

 

Acho que você gosta

Origin www.cnblogs.com/whaleAlice/p/12615041.html
Recomendado
Clasificación