19
Vue 3 學習之旅
進階應用

條件顯示:v-show

·7 分鐘閱讀·進階應用

摘要

v-show 是另一個條件顯示指令,與 v-if 不同,它總是會渲染元素,僅透過切換 CSS 的 display 屬性來控制其顯示與隱藏。

定義與說明

v-show

基於 CSS 的切換,有較高的初始渲染成本(元素總是在 DOM 中),但切換成本較低。

v-if

是真正的條件渲染,有較低的初始渲染成本(如果條件為假),但切換成本較高(涉及 DOM 的新增和刪除)。

實作範例

Vue SFC
<script setup>
import { ref } from 'vue';
const isVisible = ref(true);
</script>
<template>
  <!-- isVisible 為 false 時,此元素仍在 DOM 中,但 style="display: none;" -->
  <h1 v-show="isVisible">我一直都在</h1>
</template>

結論

如何選擇:如果需要頻繁地切換顯示狀態,使用 v-show 效能更好。如果條件在執行期間很少改變,則使用 v-if 更合適。

v-show 條件顯示 CSS 切換