1.計算屬性是用來存儲數據,但具有以下幾個特點:
a.數據可以進行邏輯處理操作。
b.對計算屬性中的數據進行監視。
2.計算屬性和普通屬性的區別:
a.計算屬性是基於它的依賴進行更新的,只有在相關依賴發生改變時才能更新變化
b.計算屬性是緩存的,只要相關依賴沒有改變,多次訪問計算屬性得到的值是之前緩存計算的結果,不會多次執行。
3.get和set
計算屬性由兩部分組成,get和set,分別用來獲取計算屬性和設置計算屬性。
默認只有get,如果需要set,要自己添加
<script type="text/javascript"> window.onload=function(){ let vm = new Vue({ el:"#app", data:{ num:8 }, computed:{ num1:{ get:function(){//必須有返回值,用來獲取屬性,稱為get函數 return this.num-1; }, set:function(val){ console.log('修改num1的值'); this.num = 11; } } }, methods:{ changeNum1:function(){ this.num1 = 11; } } }) } </script>
html:
<div id="app"> <p>{{ num }}</p> <p>{{ num1 }}</p> <button @click='changeNum1'>點擊改變num1的值</button> </div>