1. 程式人生 > 資訊 >0 糖 0 脂 0 卡,百威英博植與氣泡水 1.4 元 / 瓶(京東 16 元)

0 糖 0 脂 0 卡,百威英博植與氣泡水 1.4 元 / 瓶(京東 16 元)

1、計算屬性的setter和getter

  • 每個計算屬性都包含一個setter和一個getter
  • 計算屬性一般沒有set方法,只讀屬性
  • 使用時作為一個屬性,不用加()
  • 注意:如果計算屬性使用了箭頭函式,則this不會指向這個元件的例項,不過仍然可以將其例項作為函式的第一個引數來訪問
var vm = new Vue({
    data: { a: 1 },
    computed: {
        // 僅讀取 
        aDouble: function () { 
            return this.a * 2 
        }, 
        // 讀取和設定 
        aPlus: { 
            get: function () {
                return this.a + 1
            }, 
            set: function (v) { 
                this.a = v - 1 
            }
        } 
    }
})
vm.aPlus // => 2
vm.aPlus = 3 
vm.a // => 2 
vm.aDouble // => 4

2、計算屬性的快取

  • 計算屬性的結果會被快取,除非依賴的響應式 property 變化才會重新計算
  • 注意:如果某個依賴 (比如非響應式 property) 在該例項範疇之外,則計算屬性是不會被更新的