Vue計算屬性 方法和偵聽器的區分(超易懂)

2021-10-02 17:57:39 字數 1178 閱讀 2182

>

>

charset

="utf-8"

>

>

計算屬性,方法,偵聽器title

>

script

>

head

>

>

>

方法:}

}/>

計算屬性:}}

/>

偵聽器:}}

div>

>

var vm =

newvue(,

//1.用方法完成名字的組合

//方法內部沒有快取機制,相關的值即便沒有改變,重新整理頁面時仍舊需要重新計算

methods:},

//2.用計算屬性完成名字的組合

//自帶快取,如果相關的值沒有改變,改變頁面其他元素的值,不需要重新計算

computed:},

//3.偵聽器完成計算

//偵聽器也自帶快取,如果相關的值沒有改變,改變頁面其他元素的值,不需要重新計算

//但是偵聽器的**量相比於計算屬性更大,故若二者均可,優先使用計算屬性

watch:

, lastname:

function()

}})script

>

body

>

html

>

1.剛開啟控制器時

可見,計算屬性和計算方法分別進行了一次計算,而偵聽器是直接渲染值,不需要進行計算

2.我們首先通過控制台對與計算不相關的值進行更改

3.下面通過控制台對與計算相關的值進行更改

此時計算屬性、方法和偵聽器均進行了計算

總的來說,計算方法並不自帶快取,每次重新整理頁面都需要重新計算,計算屬性和偵聽器,如果相關的值沒有改變,改變頁面其他元素的值,重新整理頁面時不需要重新計算,但是偵聽器的**量相比於計算屬性更大,故若二者均能滿足需求,優先使用計算屬性

Vue計算屬性和偵聽器

模板內的表示式非常便利,但是在模板中放入太多的邏輯會讓模板過重切難以維護。對於任何複雜邏輯都應該使用計算屬性。var vm new vue computed 這裡宣告乙個計算屬性reversemsg。我們提供的函式將作用屬性vm.reversemsg的getter函式。我們可以在表示式中呼叫方法來達...

一 vue 計算屬性,方法,偵聽器

計算屬性將被混入到 vue 例項中。所有 getter 和 setter 的 this 上下文自動地繫結為 vue 例項。注意如果你為乙個計算屬性使用了箭頭函式,則 this 不會指向這個元件的例項,不過你仍然可以將其實例作為函式的第乙個引數來訪問。computed 計算屬性的結果會被快取,除非依賴...

計算屬性 方法和偵聽器

doctype html en utf 8 計算屬性 方法和偵聽器 title vue.js script head root div newvue 計算屬性 computed script body html 計算屬性在使用的時候會有乙個快取,其依賴的data,在沒有發生變化的時候,計算屬性就不會...