Direttiva v-show in Vue

Un'altra opzione per la visualizzazione condizionale è la direttiva v-show. Si utilizza in modo molto simile:

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

La differenza è che l'elemento con v-show sarà sempre renderizzato e rimarrà nel DOM, e verrà alternata solo la sua proprietà CSS display.

La direttiva v-if esegue un rendering condizionale "vero", poiché garantisce che gli ascoltatori di eventi e i componenti figli all'interno del blocco vengano distrutti e ricreati correttamente durante l'alternanza delle condizioni.

La direttiva v-if è anche pigra (lazy): se la condizione è falsa al momento del rendering iniziale, allora non farà nulla - il blocco condizionale non verrà renderizzato fino a quando la condizione non diventa vera.

In confronto, v-show è molto più semplice - l'elemento viene sempre renderizzato, indipendentemente dallo stato iniziale, con alternanza basata sul CSS.

In generale, v-if ha costi di alternanza più alti, mentre v-show ha costi di rendering iniziale maggiori. Quindi, usa v-show se le alternanze sono frequenti, e preferisci v-if se la condizione potrebbe non cambiare durante l'esecuzione.

La direttiva v-show non può essere utilizzata sull'elemento template e non funziona con v-else.

Задание 1

Sono dati un paragrafo e un pulsante. Fai in modo che il paragrafo venga mostrato/nascosto (toggle) alla pressione del pulsante.

Задание 2

Spiegate le differenze tra le direttive v-show e v-if.

Задание 3

Spiegate quando è meglio usare la direttiva v-show e quando - v-if.

Задание 4

Spiegate quali limitazioni ha la direttiva v-show.