Sobes.tech
Junior

Nevezze meg a v-show és v-if direktívák közötti különbségeket.

sobes.tech MI

Válasz az MI-től

A v-if feltétel szerint renderel egy elemet, és teljesen eltávolítja azt a DOM-ból, ha a feltétel hamis. A v-show mindig rendereli az elemet, de a CSS display tulajdonságát váltogatja none és az eredeti érték között a feltétel függvényében.

Teljesítmény / használatbeli különbségek:

  • v-if: Nehezebb kezdeti renderelés, de jobb teljesítmény ritka váltások esetén, mivel az elemek teljesen eltávolításra kerülnek a DOM-ból.
  • v-show: Könnyebb kezdeti renderelés, de inkább gyakran váltó elemekhez ajánlott, mivel csak a CSS tulajdonságot változtatja.

Használati példa:

<!-- v-if használata -->
<template>
  <div v-if="isVisible">
    Ez a blokk csak akkor látható, ha az isVisible igaz
  </div>

  <!-- v-show használata -->
  <div v-show="isVisible">
    Ez a blokk mindig a DOM-ban van, de csak akkor látható, ha az isVisible igaz
  </div>
</template>

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