選單
×
   ❮   
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 屬性 Vue 作用域樣式 Vue 本地元件 Vue 插槽 Vue v-slot Vue 作用域插槽 Vue 動態元件 Vue Teleport Vue HTTP 請求 Vue 模板引用 Vue 生命週期鉤子 Vue Provide/Inject Vue 路由 Vue 表單輸入 Vue 動畫 Vue v-for 動畫 Vue 構建 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 計算屬性

計算屬性(Computed properties)類似於資料屬性,但它們依賴於其他屬性。

計算屬性的寫法像方法,但它們不接受任何輸入引數。

當依賴項發生變化時,計算屬性會自動更新,而方法則在發生某些事情時呼叫,例如事件處理。

當需要輸出依賴於其他內容的內容時,可以使用計算屬性

計算屬性是動態的

計算屬性的主要優點是它的動態性,這意味著它會根據例如一個或多個數據屬性的值而變化。

計算屬性是我們將要學習的 Vue 例項中的第三個配置選項。我們已經學習過的另外兩個配置選項是 'data' 和 'methods'。

與 'data' 和 'methods' 一樣,計算屬性在 Vue 例項中也有一個保留名稱:'computed'。

語法

const app = Vue.createApp({
  data() {
    ...
  },
  computed: {
    ...
  },
  methods: {
    ...
  }
})

'是'或'否'的計算屬性

假設我們要建立一個表單來新增購物清單中的專案,並且我們想標記新專案是否重要。我們可以像之前示例那樣,在複選框被選中時新增一個 'true' 或 'false' 的反饋。

示例

輸入元素是動態的,以便文字反映狀態。

<input type="checkbox" v-model="chbxVal"> {{ chbxVal }}
data() {
  return {
    chbxVal: false
  }
}
自己動手試一試 »

然而,如果你問某人某事是否重要,他們很可能會回答 'yes' 或 'no',而不是 'true' 或 'false'。所以為了讓我們的表單更符合日常語言(更直觀),我們應該在複選框上提供 'yes' 或 'no' 的反饋,而不是 'true' 或 'false'。

你猜怎麼著?計算屬性是幫助我們實現這一點的完美工具。

示例

透過一個名為 'isImportant' 的計算屬性,我們現在可以在切換複選框時自定義對使用者的文字反饋。

<input type="checkbox" v-model="chbxVal"> {{ isImportant }}
data() {
  return {
    chbxVal: false
  }
},
computed: {
  isImportant() {
    if(this.chbxVal){
      return 'yes'
    }
    else {
      return 'no'
  }
}
自己動手試一試 »

計算屬性 vs. 方法

計算屬性和方法都寫成函式,但它們是不同的

  • 方法在從 HTML 呼叫時執行,而計算屬性在依賴項更改時自動更新。
  • 計算屬性的使用方式與資料屬性相同,但它們是動態的。

Vue 練習

透過練習來測試自己

練習

請提供正確的程式碼,以便在螢幕上顯示 'isImportant' 計算屬性。

<div id="app">
  <form>
    <p>
      Important item?
      <label>
         <input type="checkbox" v-model="chbxVal"> 
         
      </label>
    </p>
  </form>
</div>

<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
<script>
  const app = Vue.createApp({
    data() {
      return {
        chbxVal: false
      }
    },
    : {
      isImportant() {
        if(this.chbxVal){
          return 'yes'
        }
        else {
          return 'no'
        }
      }
    }
  })
 app.mount('#app')
</script>

開始練習



×

聯絡銷售

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

報告錯誤

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

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

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