Mehrere Möglichkeiten zur Verwendung von require/import-Schlüsselwörtern zum Importieren lokaler Bilder in einer v-for-Schleife

Mehrere Möglichkeiten zur Verwendung von require/import-Schlüsselwörtern zum Importieren lokaler Bilder in einer v-for-Schleife

Problembeschreibung

Wenn wir Projekte durchführen, müssen wir oft Bilder auf der Seite präsentieren. Generell gibt es folgende Möglichkeiten

Methode 1 (Backend gibt Bild-URL zurück)

Bei dieser Methode gibt das Backend die URL-Adresse des Bildes zurück und wir binden das src-Attribut des img-Tags direkt an imgUrl. Der folgende Code:

<div Klasse="Artikel" v-for="(Artikel, Index) in apiArr" :Schlüssel="Index">
    <!-- apiArr sind die vom Backend zurückgegebenen Daten, von denen jedes ein imgUrl-Attribut hat, das die URL-Adresse des Bildes speichert -->
    <img :src="item.imgUrl" alt="">
</div>

Methode 2 (Verwendung von require auf dem Frontend)

Die zweite Methode besteht darin, die Bilddatei im Frontend zu speichern, und das Backend gibt nur den Namen des Bildes zurück (oder gibt die Bilddaten nicht zurück). Das Codebeispiel lautet wie folgt:

Code angehängt

<Vorlage>
  <div Klasse="wrap">
    <div Klasse="Artikel" v-for="(Artikel, Index) in apiArr" :Schlüssel="Index">
      <div Klasse="imgWrap">
        <!-- require führt das Bilddateimodul ein -->
        <img :src="require(`@/assets/img/${item.imgTitle}.png`)" alt="" />
        <!-- Schließlich sieht es so aus und kann normal angezeigt werden <img src="@/assets/img/first.png" alt=""> -->
      </div>
      <div Klasse="infoWrap">
        <div><span class="bloder">Rang:</span> {{ item.title }}</div>
        <div><span class="bloder">Punktzahl:</span> {{ item.score }}</div>
      </div>
    </div>
    
  </div>
</Vorlage>

<Skript>
Standard exportieren {
  Daten() {
    zurückkehren {
      apiArr: [],
    };
  },
  montiert() {
    // Angenommen, apiArr sind die Daten, die vom Backend zurückgegeben werden, wenn wir die Anfrage senden, und die Eigenschaft imgTitle darin speichert den Namen des Bildes. // Durch die Einführung über das Schlüsselwort require wird automatisch nach der entsprechenden Bilddatei in der Datei unter dem angegebenen Pfad gesucht und geladen. this.apiArr = [
      {
        Titel: "Champion",
        Punktzahl: "98,8",
        imgTitle: "erste",
      },
      {
        Titel: „Zweiter“,
        Punktzahl: "97,9",
        imgTitle: "zweite",
      },
      {
        Titel: „Dritter Zweitplatzierter“,
        Punktzahl: "96,2",
        imgTitle: "dritte",
      },
    ];
  },
};
</Skript>

Das Wirkungsdiagramm sieht wie folgt aus

Diagramm zur Projektdateistruktur

Methode 3 (mithilfe des Imports im Frontend)

Code angehängt

<Vorlage>
  <div Klasse="wrap">
    <div Klasse="Artikel" v-for="(Artikel, Index) in apiArr" :Schlüssel="Index">
      <div Klasse="imgWrap">
        <img :src="item.imgTitle" alt="" />
      </div>
      <div Klasse="infoWrap">
        <div><span class="bloder">Rang:</span> {{ item.title }}</div>
        <div><span class="bloder">Punktzahl:</span> {{ item.score }}</div>
      </div>
    </div>
  </div>
</Vorlage>

<Skript>
// importiere zuerst von "@/assets/img/first.png";
importiere Sekunde aus "@/assets/img/second.png";
importiere drittes aus '@/assets/img/third.png'
Standard exportieren {
  Daten() {
    zurückkehren {
      apiArr: [
        {
          Titel: "Champion",
          Punktzahl: "98,8",
          imgTitle: first, // Benutze das importierte Bild},
        {
          Titel: „Zweiter“,
          Punktzahl: "97,9",
          imgTitle: zweites, // Benutze das importierte Bild},
        {
          Titel: „Dritter Zweitplatzierter“,
          Punktzahl: "96,2",
          imgTitle: third, // Benutze das importierte Bild},
      ],
    };
  },
};
</Skript>

Die Renderings und das Diagramm der Projektdateistruktur sind dieselben wie oben, daher werde ich hier nicht ins Detail gehen.

Zusammenfassen

Sie können zum Importieren von Bildern die Importmethode in ES6 oder die Requirement-Methode in CommonJS verwenden, ich persönlich empfehle jedoch die Verwendung der Requirement-Methode, da diese etwas flexibler ist.

Dies ist das Ende dieses Artikels über die Verwendung von require/import-Schlüsselwörtern in v-for-Schleifen zum Einführen lokaler Bilder. Weitere relevante v-for-Inhalte zum Einführen lokaler Bilder finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Detaillierte Erklärung verschiedener Möglichkeiten zum Einführen von Bildpfaden in Vue.js
  • So führen Sie einen Vue-Router in requireJs der Vue-Reihe ein
  • Vue-Bilder müssen mit require eingeführt werden

<<:  MySQL 8.0.20 Installations-Tutorial mit Bildern und Text (Windows 64-Bit)

>>:  So starten Sie das Spring-Boot-Projekt mit dem integrierten Linux-System in Win10

Artikel empfehlen

Miniprogramm Benutzerdefinierte TabBar-Komponentenkapselung

In diesem Artikelbeispiel wird der spezifische Co...

Vollständige Schritte zum Erstellen eines Passwortgenerators mit Node.js

Inhaltsverzeichnis 1. Vorbereitung 2. Befehlszeil...

JavaScript zum Erreichen eines dynamischen Farbwechsels der Tabelle

In diesem Artikel wird der spezifische Code für J...

So erstellen Sie einen Tabellenindex in MySQL

Inhaltsverzeichnis Unterstützt mehrere Filterarte...

Detaillierte Analyse des Event-Bubbling-Mechanismus in JavaScript

Was ist Blubbern? Es gibt drei Phasen im DOM-Erei...

Docker löst das Problem, dass das Terminal kein Chinesisch eingeben kann

Vorwort: Eines Tages baute ich einen MySQL-Dienst...

Was tun, wenn Sie Ihr MySQL-Passwort vergessen?

Zweimal Ihr MySQL-Passwort vergessen? Zuerst habe...

Detaillierte Erklärung der neuen CSS-Eigenschaft display:box

1. Anzeige:Box; Wenn Sie diese Eigenschaft für ei...

JavaScript realisiert den Warteschlangenstrukturprozess

Inhaltsverzeichnis 1. Warteschlangen verstehen 2....

SQL-Implementierung von LeetCode (182. Doppelte Postfächer)

[LeetCode] 182.Doppelte E-Mails Schreiben Sie ein...