In diesem Artikelbeispiel wird der spezifische Code von Vue zur Realisierung der Bildfrequenzwiedergabe des Karussells als Referenz bereitgestellt. Der spezifische Inhalt ist wie folgt brauchen Übergeben Sie ein Array mit Verzeichnisnamen. Lesen Sie über diesen Verzeichnisnamen alle Bilder im Dateiverzeichnis und spielen Sie sie in einer Schleife ab. Dabei entsteht der Effekt, dass jede Sekunde eine bestimmte Anzahl von Bildern abgespielt wird. Nachdem das letzte Verzeichnis abgespielt wurde, springen Sie zum ersten Verzeichnis und spielen es in einer Schleife ab. Core: Verwenden Sie eine API von webpack require.contex, um den Dateinamen im Verzeichnis zu lesen. Wenn Sie mehr wissen möchten, können Sie es sich ansehen. CodeHTML <Vorlage> <div id="imgPlay" ref="container" :style="[Stil]"> <img :src="imgsrc" :style="[{height:style.height,width:style.width}]"> <div id="aber"> <button @click="start()">Starten</button> <button @click="stop()">Stopp</button> </div> </div> </Vorlage> JavaScript <Skript> Standard exportieren { Name: "ZxImgPlay", Daten () { zurückkehren { Stil:[ Breite: "50px", Höhe: "50px" ], Intervall: null, // Timer-ID flag: true, // Zeitschalter setIntervalNumber: 0, // Aktuell angezeigtes Bild subscript imgsrc: "", // Anzuzeigender Bildpfad imgUrls: [], // Alle Bildpfade frameRate: 0 // Bildrate } }, berechnet: {}, betrachten: {}, erstellt () { }, montiert () { dies.zxInit() }, vorZerstören () { }, Methoden: { zxInit() { //This.DisplayParam ist eine Menge von Dingen innerhalb des Unternehmens, und das gemischte Objekt //this.DisplayParam.frameRate ist ein Array ["Verzeichnisname 1", "Verzeichnisname 2"] // this.DisplayParam.imgUrls ist ein totes Bild. Wenn kein Verzeichnis vorhanden ist, wird das tote Bild verwendet. // this.DisplayParam.frameRate ist die eingehende Bildrate this.frameRate = this.DisplayParam.frameRate && (1000 / this.DisplayParam.frameRate) dies.imgUrls = dies.DisplayParam.imgUrls this.DisplayParam.imageFileName != 0 ? this.readdir(this.DisplayParam.imageFileName) : this.showImages(true) }, Start () { wenn (dieses.flag) return dies.showImages() dieses.flag = wahr }, stoppen () { this.flag = falsch Intervall löschen(dieses.Intervall) }, readImages(Bilddateiname, _A) { dies.stopp() let req = require.context("@/../static/images", true, /\.(?:bmp|jpg|gif|jpeg|png)$/).keys(); let Pfad = neuer RegExp(Bilddateiname[_A]) req.forEach(item => { wenn (Pfad.Test(Element)) { this.imgUrls.push({ img: "@/../static/images/" + imageFileName[_A] + item.substring(item.lastIndexOf('/')) }) } }) dies.showImages() }, readdir (Bilddateiname) { diese.imgUrls = [] für (lass i = 0; i < Bilddateiname.Länge; i++) { dies.readImages(Bilddateiname, i) } }, zeigeBilder(_B) { wenn (_B) this.imgUrls = this.imgUrlsSort(this.imgUrls, 'sort') Konsole.log(diese.imgUrls) dieses.Intervall = setzeIntervall(dieses.setIntervalFun, diese.FrameRate) }, imgUrlsSort (ary, Schlüssel) { return ary.sort((a, b) => { sei x = a[Schlüssel]; sei y = b[Schlüssel]; Rückgabe ((x < y) ? -1 : (x > y) ? 1 : 0) }) }, setzeIntervalFun () { wenn (this.setIntervalNumber >= this.imgUrls.length) { this.setIntervalNumber = 0 } dies.imgsrc = dies.imgUrls[diese.setIntervalNumber++].img || '' } } } </Skript> Frage Das Obige hat die Funktion erreicht, aber bisher wurden zwei Probleme gefunden 1. Der erste Parameter der require.context()-API kann keinen veränderbaren Wert, wie etwa eine Variable, verwenden, und es wird eine Warnung ausgegeben. 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:
|
<<: So dockerisieren Sie eine Python-Django-Anwendung
>>: Was tun, wenn Sie das ursprüngliche Passwort für MySQL auf dem MAC vergessen?
Zurück: Markup Language - Phrasenelemente Original...
NodeJS kopiert die Dateien: Für den Kopiervorgang...
Inhaltsverzeichnis 1. Einleitung 2. Nutzung Zusta...
Der Grund liegt darin, dass es nach der Installat...
Vorwort Das MySQL Slow Query Log ist ein Protokol...
Schwarmclusterverwaltung Einführung Docker Swarm ...
Warum brauchen wir ein Berechtigungsmanagement? 1...
1. Installation des MySQL RPM-Pakets # Laden Sie ...
Vorwort Alle Hardwaregeräte im Linux-System werde...
Erklärung langsamer MySQL-Abfragen Das MySQL Slow...
Inhaltsverzeichnis 1. Einführung in jQuery 2. jQu...
Inhaltsverzeichnis Überblick 1. Pfadmodul 2. Bis ...
Inhaltsverzeichnis Vorne geschrieben Vorsichtsmaß...
Übergeordnete Datei importiere React, { useState ...
In CSS-Dateien müssen Sie manchmal einen Hintergru...