Direktyva v-show Vue

Kitas sąlyginio rodymo variantas yra direktyva v-show. Naudojama labai panašiai:

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

Skirtumas tas, kad elementas su v-show visada bus atvaizduojamas ir liks DOM'e, o bus perjungiama tik jo CSS savybė display.

Direktyva v-if atlieka "tikrą" sąlyginį atvaizdavimą, nes garantuoja, kad įvykių klausytojai ir vidiniai komponentai viduje bloko tinkamai sunaikinami ir atkuriami perjungiant sąlygas.

Direktyva v-if taip pat yra tingi: jei sąlyga klaidinga pradinio atvaizdavimo metu, ji nieko nepadarys - sąlyginis blokas nebus atvaizduotas tol, kol sąlyga netaps tiesa.

Palyginus, v-show yra daug paprastesnė - elementas visada atvaizduojamas, nepriklausomai nuo pradinės būsenos, perjungiamas remiantis CSS.

Apskritai, v-if turi didesnes perjungimo išlaidas, o v-show turi didesnes pradinio atvaizdavimo išlaidas. Taigi naudokite v-show, jei perjungimai bus dažni, ir teikite pirmenybę v-if, jei sąlyga gali ir nepasikeisti vykdymo metu.

Direktyvos v-show negalima naudoti ant elemento template ir ji neveikia su v-else.

Задание 1

Duotas pastraipa ir mygtukas. Padarykite taip, kad pastraipa būtų įjungiama/išjungiama paspaudus ant mygtuko.

Задание 2

Papasakokite, kuo skiriasi direktyvos v-show ir v-if.

Задание 3

Papasakokite, kada geriau naudoti direktyvą v-show, o kada - v-if.

Задание 4

Papasakokite, kokius apribojimus turi direktyva v-show.