選單
×
   ❮   
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

Vue 教程

Vue 首頁 Vue Intro Vue Directives Vue v-bind Vue v-if Vue v-show Vue v-for Vue Events Vue v-on Vue Methods Vue Event Modifiers Vue Forms Vue v-model Vue CSS Binding Vue Computed Properties Vue Watchers Vue Templates

Scaling Up

Vue 原因、方法和設定 Vue 第一個 SFC 頁面 Vue 元件 Vue Props Vue v-for 元件 Vue $emit() Vue Fallthrough Attributes Vue Scoped Styling Vue 本地元件 Vue Slots Vue v-slot Vue Scoped Slots Vue 動態元件 Vue Teleport Vue HTTP 請求 Vue Template Refs Vue 生命週期鉤子 Vue Provide/Inject Vue Routing Vue 表單輸入 Vue 動畫 Vue v-for 動畫 Vue Build Vue Composition API

Vue Reference

Vue Built-in Attributes Vue Built-in Components Vue Built-in Elements Vue Component Instance Vue Directives Vue Instance Options Vue Lifecycle Hooks

Vue 示例

Vue Examples Vue Exercises Vue Quiz Vue Server Vue Certificate

Vue v-show 指令

瞭解如何使用 v-show 使元素可見或不可見。

v-show 易於使用,因為條件直接寫在 HTML 標籤的屬性中。

條件可見性

當條件為 'false' 時,v-show 指令透過將 CSS 'display' 屬性值設定為 'none' 來隱藏元素。

在將 v-show 編寫為 HTML 屬性後,我們必須提供一個條件來決定是否顯示該標籤。

語法

<div v-show="showDiv">這個 div 標籤可以隱藏</div>

在上面的程式碼中,'showDiv' 代表一個布林值的 Vue 資料屬性,其屬性值可以是 'true' 或 'false'。如果 'showDiv' 是 'true',則顯示 div 標籤,如果它是 'false',則不顯示該標籤。

示例

僅當 showDiv 屬性設定為 'true' 時顯示 <div> 元素。

<div id="app">
  <div v-show="showDiv">這個 div 標籤可以隱藏</div>
</div>

<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
<script>
  const app = Vue.createApp({
    data() {
      return {
        showDiv: true
      }
    }
  })
  app.mount('#app')
</script>
自己動手試一試 »

v-showv-if 對比

v-showv-if 的區別在於,v-if 根據條件建立(渲染)元素,但使用 v-show 時,元素已建立,v-show 只改變其可見性。

因此,當切換物件的可見性時,最好使用 v-show,因為它對瀏覽器來說更容易處理,並且可以帶來更快的響應和更好的使用者體驗。

使用 v-if 而不是 v-show 的一個原因是,v-if 可以與 v-else-ifv-else 一起使用。

在下面的示例中,v-showv-if 分別應用於兩個不同的 <div> 元素,但基於相同的 Vue 屬性。您可以開啟示例並檢查程式碼,以看到 v-show 保留了 <div> 元素,僅將 CSS display 屬性設定為 'none',而 v-if 實際上銷燬了 <div> 元素。

示例

僅當 showDiv 屬性設定為 'true' 時顯示兩個 <div> 元素。如果 showDiv 屬性設定為 'false',並且我們使用瀏覽器檢查示例頁面,我們可以看到帶有 v-if 的 <div> 元素被銷燬了,而帶有 v-show 的 <div> 元素則只是將 CSS display 屬性設定為 'none'。

<div id="app">
  <div v-show="showDiv">帶有 v-show 的 Div 標籤</div>
  <div v-if="showDiv">帶有 v-if 的 Div 標籤</div>
</div>

<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
<script>
  const app = Vue.createApp({
    data() {
      return {
        showDiv: true
      }
    }
  })
  app.mount('#app')
</script>
自己動手試一試 »

Vue 練習

透過練習來測試自己

練習

請填入缺失的部分,以便 Vue 根據“lightOn”布林資料屬性為我們切換下面 <div> 標籤的可見性。

<div id="app">
  <div id="lightDiv">
    <div ="lightOn"></div>
    <img src="img_lightBulb.svg">
  </div>
  <button v-on:click=" lightOn =! lightOn ">Switch light</button>
</div>

<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
<script>
  const app = Vue.createApp({
    data() {
      return {
        lightOn: false
      }
    }
  })
  app.mount('#app')
</script>

開始練習



×

聯絡銷售

如果您想將 W3Schools 服務用於教育機構、團隊或企業,請傳送電子郵件給我們
sales@w3schools.com

報告錯誤

如果您想報告錯誤,或想提出建議,請傳送電子郵件給我們
help@w3schools.com

W3Schools 經過最佳化,旨在方便學習和培訓。示例可能經過簡化,以提高閱讀和學習體驗。教程、參考資料和示例會不斷審查,以避免錯誤,但我們無法保證所有內容的完全正確性。使用 W3Schools 即表示您已閱讀並接受我們的使用條款Cookie 和隱私政策

版權所有 1999-2024 Refsnes Data。保留所有權利。W3Schools 由 W3.CSS 提供支援