Direktíva v-show vo Vue

Ďalšou možnosťou podmieneného zobrazenia je direktíva v-show. Používa sa veľmi podobne:

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

Rozdiel je v tom, že prvok s v-show bude vždy vykreslený a zostane v DOM, a prepínať sa bude len jeho CSS vlastnosť display.

Direktíva v-if vykonáva "skutočné" podmienené vykreslovanie, pretože zaručuje, že odpočúvače udalostí a podriadené komponenty vnútri bloku sú riadne zničené a znovu vytvorené pri prepínaní podmienky.

Direktíva v-if je tiež lenivá: ak je podmienka nepravdivá v čase počiatočného vykreslenia, neurobí nič - podmienený blok nebude vykreslený, kým sa podmienka nestane pravdivou.

Pre porovnanie, v-show je oveľa jednoduchšia - prvok je vždy vykreslený, bez ohľadu na počiatočný stav, s prepínaním založeným na CSS.

Vo všeobecnosti má v-if vyššie náklady na prepínanie, kým v-show má vyššie náklady na počiatočné vykreslenie. Takže použite v-show, ak budú prepínania časté, a uprednostnite v-if, ak sa podmienka počas behu programu nemusí zmeniť.

Direktívu v-show nemožno použiť na prvku template a nefunguje s v-else.

Задание 1

Daný odstavec a tlačidlo. Urobte tak, aby sa odstavec prepínal (toggol) stlačením tlačidla.

Задание 2

Povedzte, v čom sa líšia direktívy v-show a v-if.

Задание 3

Povedzte, kedy je lepšie použiť direktívu v-show, a kedy - v-if.

Задание 4

Povedzte, aké obmedzenia má direktíva v-show.