Heim > Web-Frontend > js-Tutorial > Hauptteil

Das CSS von Vue.js implementiert übermäßige Animationen

php中世界最好的语言
Freigeben: 2018-03-13 14:24:07
Original
1573 Leute haben es durchsucht

Dieses Mal werde ich Ihnen die CSS-Übergangsanimation in Vue.js vorstellen. Was sind die Vorsichtsmaßnahmen in der CSS-Übergangsanimation von Vue.j? Schauen wir uns das gemeinsam an sehen.

Übergang Animation

<template>
  <div>
    <button @click="show = !show">Toggle</button>
    <div class="ab">
      <transition name="adc">
        <p v-show="show">I am show</p>
      </transition>
    </div>
  </div></template><script>
  export default {
    data () {      return {        show: true
      }
    }
  }</script><style>
 .adc-enter-active, .adc-leave-active {   transition: all 2s ease-out;
 }  .adc-enter, .adc-leave-to {    opacity: 0;
  }</style>
Nach dem Login kopieren

CSS-Transformationsanimation

<template>  <div>    <button @click="show = !show">Toggle</button>    <div class="ab">      <transition name="my-trans">        <p v-show="show">I am show</p>      </transition>    </div>  </div></template><script>  export default {    data () {      return {        show: true      }    }  }</script><style>  .my-trans-enter-active, .my-trans-leave-active {    transition: all .5s ease-out;  }  .my-trans-enter {    transform: translateY(-100px);    opacity: 0;  }  .my-trans-leave-active {    transform: translateY(100px);  }</style>
Nach dem Login kopieren

CSS-Transformationsanimation

dynamische Komponente

<template>
  <div>
    <button @click="onToggle">Toggle</button>
    <div class="ab">
      <transition name="fade">
        //动态组件        <div :is="componentView"></div>
      </transition>
    </div>
  </div></template><script>
  import comA from &#39;./components/a.vue&#39;
  import comB from &#39;./components/b.vue&#39;
  export default {    components: {comA, comB},
    data () {      return {        componentView: &#39;com-a&#39;
      }
    },    methods: {
      onToggle () {        if (this.componentView === &#39;com-a&#39;) {          this.componentView = &#39;com-b&#39;
        } else {          this.componentView = &#39;com-a&#39;
        }
      }
    }
  }</script><style>
 .fade-enter-active, .fade-leave-active {   transition: all 2s ease-out;
 }  .fade-enter, .fade-leave-to {    opacity: 0;
  }</style>
Nach dem Login kopieren

Dynamische Komponenten, Modus ist der Standard

Die gleichzeitig wirksamen Eingangs- und Ausgangsübergänge können nicht alle Anforderungen erfüllen, daher bietet Vue einen Übergangsmodus
in-out: Der Übergang neuer Elemente erfolgt zuerst, das aktuelle Element verschwindet nach Abschluss.
out-in: Das aktuelle Element geht zuerst über und dann geht das neue Element hinein.
Die Standardeinstellung ist „in-out“

Die obige Animation, wenn der Modus „out-in“ eingestellt ist

<transition name="fade" mode="out-in">   <div :is="componentView"></div></transition>
mode="out-in"
Nach dem Login kopieren

Hinweis: Wenn die beiden Tag-Namen gleich sind, ist dies der Fall nicht ausgeführt werden. Wenn Sie eine Animation ausführen möchten, müssen Sie unterschiedliche Schlüssel für die Tags festlegen, um sie zu unterscheiden.

<template>
  <div>
    <button @click="show = !show">Toggle</button>
    <div class="ab">
      <transition name="fade" mode="out-in">
        <p v-if="show" >i am show</p>
        <p v-else >not in show</p>
      </transition>
    </div>
  </div></template>
Nach dem Login kopieren

Bei zwei Animationen mit demselben Tag-Namen werden keine unterschiedlichen Schlüssel festgelegt

Wenn sie anders eingestellt sind, können Sie die Animation ausführen

<template>
  <div>
    <button @click="show = !show">Toggle</button>
    <div class="ab">
      <transition name="fade" mode="out-in">
        //设置不同的key        <p v-if="show" key="1">i am show</p>
        <p v-else key="2">not in show</p>
      </transition>
    </div>
  </div></template>
Nach dem Login kopieren

Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!

Empfohlene Lektüre:

Berechnete Eigenschaften und Datenüberwachung von Vue.js

Vue.js-Ereignisbindung - integrierte Ereignisbindung, benutzerdefinierte Ereignisbindung

Das obige ist der detaillierte Inhalt vonDas CSS von Vue.js implementiert übermäßige Animationen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage