Директива v-show у Vue-у

Још једна опција за условно приказивање је директива v-show. Користи се веома слично:

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

Разлика је у томе што ће елемент са v-show увек бити исцртан и остаће у DOM-у, а мењаће се само његово CSS својство display.

Директива v-if извршава "праву" условну рендеринг, јер гарантује да се слушачи догађаја и дечији компоненти унутар блока прописно уништавају и поново креирају при промени услова.

Директива v-if је такође лења: ако је услов лажан у тренутку почетног рендеровања, она неће ништа учинити - условни блок неће бити исцртан све док услов не постане истинит.

У поређењу, v-show је много једноставнија - елемент је увек исцртан, без обзира на почетно стање, са пребацивањем заснованим на CSS-у.

Генерално, v-if има веће трошкове пребацивања, док v-show има веће трошкове при почетном рендеровању. Зато користите v-show, ако ће пребацивања бити честа, и дајте предност v-if, ако услов можда неће бити промењен током извршавања.

Директива v-show се не може користити на елементу template и не ради са v-else.

Задание 1

Дату је пасус и дугме. Направите тако да се пасус укључује/искључује притиском на дугме.

Задание 2

Објасните, у чему се разликују директиве v-show и v-if.

Задание 3

Објасните, када је боље користити директиву v-show, а када - v-if.

Задание 4

Објасните, каква ограничења има директива v-show.