Vue erzielt einen nahtlosen Karusselleffekt (Laufschrift)

Vue erzielt einen nahtlosen Karusselleffekt (Laufschrift)

In diesem Artikelbeispiel wird der spezifische Code von Vue zur Erzielung eines nahtlosen Karusselleffekts zu Ihrer Information geteilt. Der spezifische Inhalt ist wie folgt

1. Erstellen Sie zunächst zwei Vue-Komponenten: Sweiper.vue und SweiperItem.vue.

2. Führen Sie zwei Komponenten in die Seite ein und verwenden Sie das V-Modell, um Parameter in Sweiper.vue zu übergeben ( das V-Modell ist eigentlich eine einfache Syntax mit Standardattributwerten und Standardereigniseingaben ).
Im Code übergebe ich den Wert über die Auswahl des v-Modells an Sweiper (untergeordnete Komponente). Bei der automatischen Drehung des Karussells überträgt die untergeordnete Komponente den anzuzeigenden Wert durch Auslösen des Eingabeereignisses an die übergeordnete Komponente zurück.

3. Der Kern besteht darin, den ausgewählten Wert an SweiperItem zu übergeben und zu bestimmen, welches Bild angezeigt werden soll, wenn es dem Namenswert in SweiperItem entspricht.

<Vorlage>
  <div>
    <Sweiper v-model="ausgewählt">
      <!--v-model ist eine Syntaxvereinfachung, die den Wert- und Eingabeereignissen entspricht-->
      <Sweiper-Artikelname="Artikel1">
        <div Klasse="Artikel">
          <img :src="getImg('01')" alt="">
        </div>
      </Sweiper-Artikel>
      <Sweiper-Artikelname="Artikel2">
        <div Klasse="Artikel">
          <img :src="getImg('02')" alt="">
        </div>
      </Sweiper-Artikel>
      <Sweiper-Artikelname="Artikel3">
        <div Klasse="Artikel">
          <img :src="getImg('03')" alt="">
        </div>
      </Sweiper-Artikel>
    </Sweiper>
  </div>
</Vorlage>
Die Bilder werden hier nicht mit v-for durch das Array geschleust, so dass man die Struktur erkennen kann<script>
  importiere Sweiper aus "../components/Sweiper.vue";
  importiere SweiperItem aus "../components/SweiperItem.vue";
  Standard exportieren {
    Name: "mySweiper",
    Komponenten:
      Schwieger,
      SweiperArtikel
    },
    Daten() {
      zurückkehren {
        ausgewählt: "item1", //Standard ist das erste Element}
    },
    Methoden:{
      getImg(url){
        gibt "img/"+url+".jpg" zurück
      },

    },
    montiert(){
      /*Intervall festlegen(()=>{
       Dies.ausgewählt="Element2"
  },3000)
  Da Mounted zu diesem Zeitpunkt nur einmal ausgeführt wird, bleibt es unverändert. Sie müssen einen Watch-Listener in Sweiper schreiben}*/Dieser Schritt ist kommentiert, da er in der Sweiper-Komponente geschrieben ist}
</Skript>
<Stil>
  .Artikel{
    /*Rand: 1px durchgehend schwarz;*/
  }
  .item>img{
    Breite: 100 %;
    /*Höhe: 0,1rem;*/
  }
</Stil>

Sweiper.vue

<Vorlage>
  <div Klasse="Sweiper">
    <Steckplatz></Steckplatz>
  </div>
</Vorlage>
<Skript>

  Standard exportieren {
    Name: "Sweiper",
    Daten() {
      zurückkehren {
        aktuell:''
      }
    },
    Requisiten:{
      Wert:{
        Typ: Zeichenfolge,
        Standard:""
      },
    },
    montiert(){
      //Suchen Sie während des automatischen Karussells nach dem Namenswert und verwenden Sie die Methode indexOf, um die folgende Tabelle des aktuellen Karussells zu durchlaufen this.names=this.$children.map(child=>{
       Kindname zurückgeben
      });
      dies.showImg();
      dies.paly()
    },
    Methoden:{
      zeigeImg(){
        dies.aktuell=dieser.Wert||dieses.$Kinder[0].Name;
        //Direkte untergeordnete Komponente der aktuellen Instanz this.$children.map(vm=>{
          vm.selected = dies.aktuell
        })
      },

      spielen(){
        //Passen Sie das Bild bei jedem Abspielen des Karussells an. this.timer=setInterval(()=>{
          //indexOf gibt das erste Vorkommen einer angegebenen Zeichenfolge zurück const index = this.names.indexOf(this.current);
          sei neuerIndex=index+1;
          //Seien Sie strenger, wenn (newIndex===this.names.length){
             neuerIndex=0;
          }
          dies.$emit("Eingabe",dies.Namen[neuerIndex])
        },3000)
      }
    },
    betrachten:{
      //Wert überwachen, Auswahl ändern, wenn er sich ändert
      Wert(){
        dies.showImg()
      }
    },
    vorZerstören() {
      //clearInterval(this.timer), bevor die Spalte zerstört wird
    }
  };
</Skript>
<Stil>
  .Sweiper{
    /*Rand: 1px durchgehend schwarz;*/
    Breite: 100 %;
    Höhe: 4rem;
    Überlauf: versteckt;
    Rand: 0 automatisch;
    Position: relativ;
  }
</Stil>

SweiperItem.vue

<Vorlage>
  <Übergang>
    <div Klasse="Sweiper-item" v-show="isShow">
      <Steckplatz></Steckplatz>
    </div>
  </Übergang>
</Vorlage>
<Skript>
  Standard exportieren {
    Name: „SweiperItem“,
    Daten(){
      zurückkehren {
        ausgewählt:""
      }
    },
    Requisiten:{
      Name:{
        Typ: Zeichenfolge,
        erforderlich: wahr
      },
    },
    montiert(){

    },
    berechnet:{
      istAnzeigen(){
        gib dies.ausgewählt===diesen.Namen zurück;
      }
    }
  };

</Skript>
<Stil>
  .v-aktiv eintreten,.v-aktiv verlassen{
    Übergang: alles 1en linear;
  }
  .v-verlassen-zu{
    transformieren: übersetzen(-100%);
  }
  .v-eingeben{
    transformieren: übersetzen (100 %);
  }
  .v-enter-active{
    Position: absolut;
    oben: 0;
    links: 0;
  }
</Stil>

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Text-Marquee-Komponente basierend auf Vue (npm-Komponentenpaket)
  • Vue implementiert einen einfachen Laufschrifteffekt
  • Vue implementiert horizontales Scrollen von Text im Laufschriftstil
  • Vue implementiert den Marquee-Effekt
  • Vue realisiert einfachen Effekt des Lauflichts
  • Vue-Beispielcode mit Timer zum Erzielen eines Laufschrifteffekts
  • Vue implementiert ein einfaches Laufschrift
  • Js und VUE, um den Laufstegeffekt zu erzielen
  • Vue implementiert einen einfachen Laufschrifteffekt
  • Detaillierte Erklärung zur Verwendung der Vue-Marquee-Komponente

<<:  Mysql gibt die Methode zur Datumsbereichsextraktion an

>>:  So starten Sie ein JAR-Paket und führen es unter Linux im Hintergrund aus

Artikel empfehlen

Zusammenfassung der MySQL-Verbundindizes

Inhaltsverzeichnis 1. Hintergrund 2. Zusammengese...

Vollständige MySQL-Lernhinweise

Inhaltsverzeichnis MyISAM und InnoDB Gründe für L...

MySQL-Inspektionsskript (unbedingt lesen)

Wie unten dargestellt: #!/usr/bin/env python3.5 p...

So führen Sie den Betrieb nach dem Verlassen des Docker-Containers weiter aus

Phänomen: Führen Sie ein Image aus, zum Beispiel ...

Der Unterschied zwischen MySQL-Datenbankhost 127.0.0.1 und localhost

Viele meiner Freunde haben möglicherweise ein Pro...

Mysql Master-Slave-Synchronisation Last_IO_Errno:1236 Fehlerlösung

Was ist der Grund für den Fehler Last_IO_Errno:12...

So platzieren Sie große Bilder auf kleinem Raum einer Webseite

Originalquelle: www.bamagazine.com Enge Bereiche ...

So konfigurieren Sie ein Jupyter-Notebook im Docker-Container

Das Jupyter-Notebook wird unter dem Docker-Contai...

HTML übertrifft das Implementierungsprinzip und den Code des Textzeilenabfangs

Der HTML-Code zum Abfangen von mehrzeiligem Text l...