Direktivet v-show i Vue

Et annet alternativ for betinget visning er direktivet v-show. Det brukes veldig likt:

html<template>
  <p v-show="isAuth">
    +++
  </p>
</template>

Forskjellen er at elementet med v-show alltid vil bli rendret og forbli i DOM, og bare CSS-egenskapen display vil bli skrudd av og på.

Direktivet v-if utfører "ekte" betinget rendering, ettersom det garanterer at hendelseslyttere og underkomponenter innenfor blokken blir ødelagt og gjenopprettet på riktig måte ved veksling av betingelsen.

Direktivet v-if er også lat: hvis betingelsen er usann ved den første renderingen, vil den ikke gjøre noe - den betingede blokken vil ikke bli rendret før betingelsen blir sann.

Til sammenligning er v-show mye enklere - elementet rendres alltid, uavhengig av utgangstilstanden, med veksling basert på CSS.

Generelt har v-if høyere vekslingskostnader, mens v-show har høyere kostnader ved første rendering. Så bruk v-show hvis vekslinger vil være hyppige, og foretrekk v-if hvis betingelsen kanskje ikke endres under kjøring.

Direktivet v-show kan ikke brukes på et element template og fungerer ikke med v-else.

Задание 1

Det er gitt et avsnitt og en knapp. Gjør slik at avsnittet toggle ved klikk på knappen.

Задание 2

Forklar forskjellene mellom direktivene v-show og v-if.

Задание 3

Forklar når det er bedre å bruke direktivet v-show, og når - v-if.

Задание 4

Forklar hvilke begrensninger direktivet v-show har.