選單
×
   ❮   
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 作用域樣式 Vue 本地元件 Vue Slots Vue v-slot Vue Scoped Slots Vue 動態元件 Vue Teleport Vue HTTP 請求 Vue Template Refs Vue 生命週期鉤子 Vue Provide/Inject Vue 路由 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 指令根據 'showDiv' 的值有條件地切換 <div> 元素的可見性。

<div v-show="showDiv">這個 div 標籤可以被隱藏</div>
自己動手試一試 »

更多示例請參見下方。


定義和用法

v-show 指令用於有條件地切換元素的可見性。

v-show 使用的表示式求值為 'false' 時,CSS display 屬性被設定為 'none',否則 CSS display 屬性會回退到預設值。

帶有 v-show 的元素被建立一次並保留在 DOM 中,只有它的可見性透過 v-show 來切換。

當與內建的 <Transition> 元件一起使用時,v-show 會觸發過渡類和事件。

mounted/unmounted,或 activated/deactivated 這樣的生命週期鉤子,當使用 v-show 切換物件的可見性時,**不會**被觸發。


v-show vs. v-if

v-showv-if 指令看起來很相似,因為它們都可以切換元素的顯示或隱藏,但它們之間存在一些區別。

v-show v-if
切換時會在 DOM 中建立和銷燬元素嗎? no
切換元素時會觸發 mounted/unmounted 生命週期鉤子嗎? no
當與內建的 <Transition> 元件一起使用時,會觸發離開和進入的過渡事件和類嗎?
與內建的 <template> 元素一起使用嗎? no
v-else-ifv-else 一起使用嗎? no

更多示例

示例

v-showv-if 指令並排使用,以有條件地切換 <div> 元素的可見性。

開啟示例,將條件設定為 'false',然後右鍵單擊並檢查頁面,以檢視帶有 v-show 的元素仍然存在於 DOM 中。

<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>
自己動手試一試 »

示例

一個 <p> 元素會隨著 v-show 變得可見,並觸發 after-enter 事件。

<template>
  <h1>JavaScript Transition Hooks</h1>
  <p>This code hooks into "after-enter" so that after the initial animation is done, a method runs that displays a red div.</p>
  <button @click="pVisible=true">Create p-tag!</button><br>
  <Transition @after-enter="onAfterEnter">
    <p v-show="pVisible" id="p1">Hello World!</p>
  </Transition>
  <br>
  <div v-show="divVisible">This appears after the "enter-active" phase of the transition.</div>
</template>

<script>
export default {
  data() {
    return {
      pVisible: false,
      divVisible: false
    }
  },
  methods: {
    onAfterEnter() {
      this.divVisible = true;
    }
  }
}
</script>

<style scoped>
  .v-enter-active {
    animation: swirlAdded 1s;
  }
  @keyframes swirlAdded {
    from {
      opacity: 0;
      rotate: 0;
      scale: 0.1;
    }
    to {
      opacity: 1;
      rotate: 360deg;
      scale: 1;
    }
  }
  #p1, div {
    display: inline-block;
    padding: 10px;
    border: dashed black 1px;
  }
  #p1 {
    background-color: lightgreen;
  }
  div {
    background-color: lightcoral;
  }
</style>
執行示例 »

相關頁面

Vue 教程: Vue v-show 指令

Vue 教程:Vue v-if 指令

Vue 教程: Vue 動畫

Vue 參考: Vue <Transition> 元件

Vue 參考:Vue v-if 指令


×

聯絡銷售

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

報告錯誤

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

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

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