Heim  >  Artikel  >  Web-Frontend  >  Die Geheimwaffe des bedingten Renderings von Vue: Detaillierte Erklärung der Verwendung und Wirkungsvergleich von v-if, v-show, v-else, v-else-if

Die Geheimwaffe des bedingten Renderings von Vue: Detaillierte Erklärung der Verwendung und Wirkungsvergleich von v-if, v-show, v-else, v-else-if

WBOY
WBOYOriginal
2023-09-15 10:33:42662Durchsuche

Die Geheimwaffe des bedingten Renderings von Vue: Detaillierte Erklärung der Verwendung und Wirkungsvergleich von v-if, v-show, v-else, v-else-if

Die Geheimwaffe des bedingten Renderings von Vue: Detaillierte Erklärung der Verwendung und Wirkungsvergleich von v-if, v-show, v-else, v-else-if

Vue als beliebtes Front-End-Framework, stellt uns eine Fülle von Tools und Befehlen zur Verfügung, um das Ein- und Ausblenden von Ansichten zu steuern. In Vue ist bedingtes Rendern eine gängige Operation, mit der basierend auf unterschiedlichen Bedingungen entschieden wird, ob Elemente angezeigt oder ausgeblendet werden sollen. In diesem Artikel werden wir die bedingten Rendering-Anweisungen in Vue im Detail besprechen: v-if, v-show, v-else, v-else-if, und deren Verwendung und Auswirkungen vergleichen. Gleichzeitig stellen wir konkrete Codebeispiele bereit, um den Lesern ein besseres Verständnis der Anwendungsszenarien dieser Anleitung zu erleichtern.

  1. v-if-Anweisung
    Die v-if-Anweisung ist eine der am häufigsten verwendeten bedingten Rendering-Anweisungen in Vue. Es entscheidet, ob ein Element basierend auf angegebenen Bedingungen gerendert werden soll. Wenn die Bedingung wahr ist, wird das Element im DOM gerendert, andernfalls wird es aus dem DOM entfernt. Der v-if-Befehl hat einen hohen Switching-Overhead und erstellt oder zerstört Elemente neu, wenn sich die Bedingungen ändern.

Hier ist ein Beispiel für die Verwendung der v-if-Direktive:

<template>
  <div>
    <p v-if="isShow">这是一个使用v-if指令的示例</p>
  </div>
</template>

<script>
export default {
  data() {
    return {
      isShow: true,
    };
  },
};
</script>

Im obigen Beispiel wird das Absatzelement in das DOM gerendert, wenn isShow true ist; wenn isShow false ist, wird das Absatzelement aus gerendert das DOM entfernen.

  1. v-show-Befehl
    Der v-show-Befehl ähnelt dem v-if-Befehl, beide werden für bedingtes Rendern verwendet, es gibt jedoch einige Unterschiede zwischen den beiden. Die v-show-Direktive steuert das Anzeigen und Ausblenden von Elementen, indem sie das CSS-Anzeigeattribut des Elements ändert. Wenn die Bedingung wahr ist, wird das Element angezeigt; wenn die Bedingung falsch ist, wird das Element ausgeblendet. Im Gegensatz zu v-if hat die v-show-Anweisung weniger Aufwand beim Umschalten. Sie ändert nur das Anzeigeattribut des Elements und erstellt oder zerstört das Element nicht.

Hier ist ein Beispiel für die Verwendung der v-show-Direktive:

<template>
  <div>
    <p v-show="isShow">这是一个使用v-show指令的示例</p>
  </div>
</template>

<script>
export default {
  data() {
    return {
      isShow: true,
    };
  },
};
</script>

Im obigen Beispiel wird das Absatzelement angezeigt, wenn isShow true ist; wenn isShow false ist, wird das Absatzelement ausgeblendet.

  1. v-else-Befehl
    Der v-else-Befehl wird in Verbindung mit dem v-if- oder v-show-Befehl verwendet. Dies bedeutet, dass das aktuelle Element die „Negation“ des vorherigen Elements ist. Die v-else-Direktive muss der v-if- oder v-show-Direktive folgen und darf keine Parameter oder Ausdrücke enthalten.

Hier ist ein Beispiel für die Verwendung der v-else-Direktive:

<template>
  <div>
    <p v-if="isShow">这是一个使用v-if指令的示例</p>
    <p v-else>这是一个使用v-else指令的示例</p>
  </div>
</template>

<script>
export default {
  data() {
    return {
      isShow: true,
    };
  },
};
</script>

Wenn isShow im obigen Beispiel wahr ist, wird das erste Absatzelement im DOM gerendert; wenn isShow falsch ist, werden die zweiten Absatzelemente gerendert in das DOM gerendert.

  1. v-else-if-Befehl
    Der v-else-if-Befehl wird in Verbindung mit dem v-if- oder v-show-Befehl verwendet. Es bedeutet, dass das aktuelle Element die „Negation des vorherigen Elements und die Bestätigung einer anderen Bedingung“ ist. Die v-else-if-Direktive muss der v-if- oder v-show-Direktive folgen und kann einen Parameter oder Ausdruck haben.

Das Folgende ist ein Beispiel für die Verwendung der v-else-if-Direktive:

<template>
  <div>
    <p v-if="type === 'A'">这是类型A的示例</p>
    <p v-else-if="type === 'B'">这是类型B的示例</p>
    <p v-else>这是其他类型的示例</p>
  </div>
</template>

<script>
export default {
  data() {
    return {
      type: 'A',
    };
  },
};
</script>

Im obigen Beispiel werden verschiedene Absatzelemente entsprechend unterschiedlichen Typwerten im DOM gerendert. Wenn der Typ „A“ ist, wird das erste Absatzelement gerendert; wenn der Typ „B“ ist, wird das zweite Absatzelement gerendert, wenn der Typ andere Werte hat, wird das dritte Absatzelement gerendert.

Zusammenfassend lässt sich sagen, dass v-if, v-show, v-else und v-else-if häufig verwendete bedingte Rendering-Anweisungen in Vue sind. Sie alle haben ihre eigenen Vorteile und anwendbaren Szenarien. Wenn Sie die Anzeige und das Ausblenden von Elementen häufig wechseln müssen und der Rendering-Aufwand relativ gering ist, können Sie die V-Show-Anweisung verwenden, wenn Sie Elemente basierend auf unterschiedlichen Bedingungen dynamisch erstellen oder zerstören müssen oder der Umschaltaufwand groß ist Wenn Sie verschiedene Elemente basierend auf mehreren Bedingungen rendern müssen, können Sie die v-else-if-Anweisung verwenden, wenn Sie einige Standardelemente rendern müssen, wenn die Bedingungen von v-if erfüllt sind oder die v-show-Direktive nicht erfüllt sind, können Sie die v-else-Direktive verwenden.

Ich hoffe, dass die Leser durch die Einführung dieses Artikels die Anweisungen zum bedingten Rendern in Vue besser verstehen und anwenden und die entsprechenden Anweisungen auswählen können, um das Anzeigen und Ausblenden von Ansichten entsprechend den spezifischen Anforderungen zu steuern.

Das obige ist der detaillierte Inhalt vonDie Geheimwaffe des bedingten Renderings von Vue: Detaillierte Erklärung der Verwendung und Wirkungsvergleich von v-if, v-show, v-else, v-else-if. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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