計(jì)算屬性

一、定義

在模板中,對(duì)于任何復(fù)雜邏輯,應(yīng)當(dāng)使用計(jì)算屬性

【Demo實(shí)例地址 https://jsbin.com/zehemop/2/edit?html,output

二、用法

1?所有計(jì)算屬性都以函數(shù)形式寫在 Vue 實(shí)例內(nèi)的 computed 選項(xiàng)內(nèi),返回計(jì)算后的結(jié)果

2?可以依賴多個(gè)Vue實(shí)例數(shù)據(jù),只要其中任一個(gè)數(shù)據(jù)變化,計(jì)算屬性會(huì)重新執(zhí)行,視圖也更新

【Demo實(shí)例地址 https://jsbin.com/hajucur/edit?html,console,output

三、setter|getter

計(jì)算屬性默認(rèn)只有 getter ,不過在需要時(shí)可以提供一個(gè) setter

當(dāng)手動(dòng)修改計(jì)算屬性的值就像修改一個(gè)普通數(shù)據(jù)那樣時(shí),就會(huì)觸發(fā) setter函數(shù),執(zhí)行一些自定義的操作

【Demo實(shí)例地址 https://jsbin.com/qoduboh/1/edit?html,output

四、計(jì)算屬性緩存

調(diào)用 methods 里的方法計(jì)算屬性起到同樣的作用

頁面中的方法: 如果是調(diào)用方法,只要頁面重新渲染。方法就會(huì)重新執(zhí)行,不需要渲染,則不需要重新執(zhí)行 計(jì)算屬性:不管是否渲染,只要計(jì)算屬性依賴的數(shù)據(jù)未發(fā)生變化,就永遠(yuǎn)不變

當(dāng)遍歷大數(shù)組和做大量計(jì)算時(shí),應(yīng)當(dāng)使用計(jì)算屬性,除非你不希望得到緩存

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容