Heim > Web-Frontend > View.js > Hauptteil

Erweiterte Anwendung von Vue: Praktische Verwendung von v-if, v-show, v-else, v-else-if, um komplexes bedingtes Rendering zu erreichen

王林
Freigeben: 2023-09-15 10:46:47
Original
1100 Leute haben es durchsucht

Erweiterte Anwendung von Vue: Praktische Verwendung von v-if, v-show, v-else, v-else-if, um komplexes bedingtes Rendering zu erreichen

Erweiterte Vue-Anwendung: Praktisches V-If, V-Show, V-Else, V-Else-If zur Erzielung komplexer bedingter Renderings.

Einführung:
Vue.js ist ein beliebtes JavaScript-Framework zum Erstellen von Benutzeroberflächen. Es bietet eine Fülle von Anweisungen, einschließlich v-if, v-show, v-else, v-else-if, zum Rendern und Anzeigen von DOM-Elementen entsprechend unterschiedlichen Bedingungen. In diesem Artikel untersuchen wir, wie Sie diese Anweisungen nutzen können, um komplexes bedingtes Rendering zu implementieren, und veranschaulichen dies anhand konkreter Codebeispiele.

  1. v-if
    v-if-Direktive wird verwendet, um DOM-Elemente basierend auf gegebenen Bedingungen dynamisch zu rendern. Die Verwendung ist einfach: Fügen Sie die v-if-Direktive zu dem Element hinzu, das bedingt gerendert werden muss, und binden Sie es an einen Ausdruck, der einen booleschen Wert zurückgibt. Wenn der Ausdruck „true“ ergibt, wird das Element gerendert, andernfalls wird es entfernt.

Beispielcode:

<template>
  <div>
    <div v-if="showMessage">Hello World!</div>
    <button @click="toggleMessage">Toggle Message</button>
  </div>
</template>

<script>
export default {
  data() {
    return {
      showMessage: true
    };
  },
  methods: {
    toggleMessage() {
      this.showMessage = !this.showMessage;
    }
  }
};
</script>
Nach dem Login kopieren

Im obigen Beispiel ändern wir den Wert von showMessage, wenn auf die Schaltfläche geklickt wird, und steuern so das Ein- und Ausblenden von Hello World!.

  1. v-show
    Die v-show-Direktive wird auch verwendet, um DOM-Elemente basierend auf bestimmten Bedingungen anzuzeigen oder auszublenden. Seine Verwendung ähnelt v-if, der Unterschied besteht jedoch darin, dass v-show Elemente nur durch Ändern des Anzeigeattributs des Elements ausblendet und anzeigt, anstatt Elemente einzufügen oder zu löschen.

Beispielcode:

<template>
  <div>
    <div v-show="showMessage">Hello World!</div>
    <button @click="toggleMessage">Toggle Message</button>
  </div>
</template>

<script>
export default {
  data() {
    return {
      showMessage: true
    };
  },
  methods: {
    toggleMessage() {
      this.showMessage = !this.showMessage;
    }
  }
};
</script>
Nach dem Login kopieren

In ähnlicher Weise können wir durch Klicken auf die Schaltfläche zum Ändern des Werts von showMessage das Anzeigen und Ausblenden von Hello World! steuern.

  1. v-else
    Die v-else-Direktive wird zum Rendern von DOM-Elementen in einem else-Block verwendet, wenn die Bedingungen der v-if- oder v-show-Direktive nicht erfüllt sind. Beachten Sie, dass sich v-else unter demselben übergeordneten Element befinden muss, das unmittelbar auf die Direktive v-if oder v-show folgt.

Beispielcode:

<template>
  <div>
    <div v-if="showMessage">Hello World!</div>
    <div v-else>Goodbye World!</div>
    <button @click="toggleMessage">Toggle Message</button>
  </div>
</template>

<script>
export default {
  data() {
    return {
      showMessage: true
    };
  },
  methods: {
    toggleMessage() {
      this.showMessage = !this.showMessage;
    }
  }
};
</script>
Nach dem Login kopieren

Wenn der Wert von showMessage im obigen Beispiel falsch ist, wird „Goodbye World!“ gerendert.

  1. v-else-if
    Die v-else-if-Direktive wird verwendet, um eine andere Bedingung zu bestimmen und das entsprechende DOM-Element darzustellen, wenn die Bedingung der v-if- oder v-show-Direktive nicht erfüllt ist. Beachten Sie außerdem, dass v-else-if der v-if- oder v-show-Anweisung folgen und sich unter demselben übergeordneten Element befinden muss.

Beispielcode:

<template>
  <div>
    <div v-if="messageType === 'success'">Success!</div>
    <div v-else-if="messageType === 'warning'">Warning!</div>
    <div v-else-if="messageType === 'error'">Error!</div>
    <div v-else>Info!</div>
    <button @click="changeMessageType">Change Message Type</button>
  </div>
</template>

<script>
export default {
  data() {
    return {
      messageType: 'success'
    };
  },
  methods: {
    changeMessageType() {
      if (this.messageType === 'success') {
        this.messageType = 'warning';
      } else if (this.messageType === 'warning') {
        this.messageType = 'error';
      } else if (this.messageType === 'error') {
        this.messageType = '';
      } else {
        this.messageType = 'success';
      }
    }
  }
};
</script>
Nach dem Login kopieren

Im obigen Beispiel können wir durch Klicken auf die Schaltfläche verschiedene Arten von Nachrichten durchlaufen.

Zusammenfassung:
In diesem Artikel stellen wir anhand spezifischer Codebeispiele die Verwendung der Anweisungen v-if, v-show, v-else und v-else-if in Vue vor. Diese Anweisungen bieten uns eine flexible Möglichkeit, DOM-Elemente zu steuern, sodass wir die Seite entsprechend unterschiedlichen Bedingungen dynamisch rendern können. Die Beherrschung der Verwendung dieser Anweisungen wird uns helfen, komplexe Benutzeroberflächen besser zu erstellen.

Referenz:

  • Vue.js offizielle Dokumentation: https://vuejs.org/

Das obige ist der detaillierte Inhalt vonErweiterte Anwendung von Vue: Praktische Verwendung von v-if, v-show, v-else, v-else-if, um komplexes bedingtes Rendering zu erreichen. 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