Vue之計算屬性詳解
1、何為計算屬性:大白話講就是計算出來的結(jié)果保存在屬性當(dāng)中,可以想象為緩存。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div id="app">
<!--注意了同志們是currentTime1(),這里有加括號的,是方法調(diào)用.-->
<p>currentTime1:{{currentTime1()}}</p>
<!--這里的currentTime1是沒有加括號的,通過屬性進(jìn)行調(diào)用的-->
<p>currentTime2:{{currentTime2}}</p>
</div>
<script src="https://cdn.jsdelivr.net/npm/vue@2.5.21/dist/vue.min.js"></script>
<script>
var vm = new Vue({
el: "#app",
data: {
message: "hello vue!"
},
methods: {
currentTime1: function () {
// 返回當(dāng)前時間戳
return Date.now();
}
},
computed: {
/*注意:這里就有計算屬性了:而且methods和computed方法名不能相同。
重名之后只會調(diào)用methods方法*/
currentTime2: function () {
this.message;
// 返回當(dāng)前時間戳
return Date.now();
}
}
});
</script>
</body>
</html>
運行結(jié)果:

可能咋一看好像沒什么區(qū)別呀。
但是我們仔細(xì)思考一下,一個是方法,一個是屬性。
如下所示:
<div id="app">
<!--注意了同志們是currentTime1(),這里有加括號的,是方法調(diào)用.-->
<p>currentTime1:{{currentTime1()}}</p>
<!--這里的currentTime1是沒有加括號的,通過屬性進(jìn)行調(diào)用的-->
<p>currentTime2:{{currentTime2}}</p>
</div>
重點:屬性是存值的,有新的值進(jìn)來才會改變,不然就跟緩存一樣,我們來看這個:

解釋一下:
1.在1、2當(dāng)中我們可以看出,一個是方法一個是屬性,屬性用方法來調(diào)用肯定是不行的。
2.在1、3當(dāng)中我們可以看出,方法調(diào)用的值一直在變,但是屬性調(diào)用的值沒有改變這就跟他是緩存機(jī)制一樣
3.在3、4、5當(dāng)中我們就可以看出,當(dāng)我們一旦改變了函數(shù)當(dāng)中的值,就相當(dāng)于改變了緩存中的值,那么他就會刷新值。
總結(jié)
調(diào)用方法時,每次都需要進(jìn)行計算,既然有計算過程則必定產(chǎn)生系統(tǒng)開銷,那如果這個結(jié)果是不經(jīng)常變化的呢?此時就可以考慮將這個結(jié)果緩存起來。采用計算機(jī)屬性可以很方便做到這一點。計算機(jī)屬性的主要特性就是為了將不經(jīng)常變化的計算結(jié)果進(jìn)行緩存,以節(jié)約我們的系統(tǒng)開銷。-----小伙伴們明白了嗎?
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
Vue2.0實現(xiàn)簡單分頁及跳轉(zhuǎn)效果
這篇文章主要為大家詳細(xì)介紹了Vue2.0實現(xiàn)簡單數(shù)據(jù)分頁,及頁數(shù)的跳轉(zhuǎn)效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-07-07
改變vue請求過來的數(shù)據(jù)中的某一項值的方法(詳解)
下面小編就為大家分享一篇改變vue請求過來的數(shù)據(jù)中的某一項值的方法(詳解),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-03-03
vue定時器清除不掉,導(dǎo)致功能頻繁執(zhí)行問題
這篇文章主要介紹了vue定時器清除不掉,導(dǎo)致功能頻繁執(zhí)行問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-06-06
解決Antd 里面的select 選擇框聯(lián)動觸發(fā)的問題
這篇文章主要介紹了解決Antd 里面的select 選擇框聯(lián)動觸發(fā)的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-10-10

