1. 程式人生 > 其它 >計算屬性與監視屬性

計算屬性與監視屬性

計算屬性與監視屬性

計算屬性computed:

通過已有屬性計算出來的屬性

示例:

computed: {

•    demo: {
//初次讀取或所依賴的資料發生改變時get函式會被呼叫 放回的值就是計算屬性的值
•     get() {

•      return num * 10;

•     },
//計算屬性demo被修改時會呼叫 引數value為修改後的值
•     set(value) {

•      console.log(value);

•     }

•   }

  }

計算屬性的簡寫形式

computed: {
//計算屬性不用修改時,可簡寫 相當於get
•    demo() {

•     return num * 10;

•   }

  }

總結:與methods實現相比,計算屬性內部有快取機制(複用),效率更高,除錯方便。

監視屬性watch:

示例

watch: {

•    num: {

•     immediate:true, //初始化就呼叫handler,預設為false

•     deep: true,//開啟深度監視,預設為false

•     handler(newValue,oldValue){// 當num發生改變時呼叫

•      console.log('num被修改了',newValue,oldValue);

•     }

•   }

  }

監視屬性的簡寫形式:

watch: {

•    num(newValue,oldValue) {

•     console.log('num被修改了',newValue,oldValue);

•   }

  }

總結:計算屬效能實現的功能監視屬性一定能實現