Vue中methodscomputed和watch的區(qū)別

methods :執(zhí)行多次調(diào)用的時(shí)候 ,當(dāng)數(shù)據(jù)沒(méi)有發(fā)生變化,計(jì)算屬性里面的函數(shù)只需要執(zhí)行一次,而methods調(diào)用幾次,就執(zhí)行幾次,哪個(gè)性能更高?vue內(nèi)部是對(duì)計(jì)算屬性做了一層緩存的,它會(huì)觀察數(shù)據(jù)有沒(méi)有發(fā)生變化,如果沒(méi)有變化的話,會(huì)吧原來(lái)的結(jié)果直接返回出去,而不是重新計(jì)算下,如果你不希望有緩存,請(qǐng)用方法代替

成都創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供磐安網(wǎng)站建設(shè)、磐安做網(wǎng)站、磐安網(wǎng)站設(shè)計(jì)、磐安網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、磐安企業(yè)網(wǎng)站模板建站服務(wù),十多年磐安做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

computed: 依賴追蹤機(jī)制為基礎(chǔ) 根據(jù)a的值變化 計(jì)算出新的值默認(rèn)是以get 方法 必須要有return 而且不支持異步 ,基于它們的依賴進(jìn)行緩存,只有它的相關(guān)依賴改變時(shí)才會(huì)重新求值,為什么需要緩存?假設(shè)我們有一個(gè)性能開(kāi)銷比較大的計(jì)算屬性A,它需要遍歷一個(gè)巨大的數(shù)組并做大量的計(jì)算,然后我們可能有其他的屬性依賴與A,如果沒(méi)有緩存,我們將不可避免地多次執(zhí)行A的getter,多個(gè)數(shù)據(jù)影響一個(gè)數(shù)據(jù)(狐朋狗友帶壞你)。某【一些】變量發(fā)生變化時(shí),影響的【單個(gè)】結(jié)果對(duì)應(yīng)地發(fā)生改變。計(jì)算屬性一般沒(méi)有set方法,只讀屬性。

watched: 依賴追蹤機(jī)制為基礎(chǔ) 觀察a的值變化 當(dāng)a的值變化時(shí),干一件事,也叫觀察者、偵聽(tīng)器,屬性名要和被觀察的值的名字一致 a(newVal,oldVal){ },只有值變化的時(shí)候才會(huì)觸發(fā)變化,支持?jǐn)?shù)據(jù)變化時(shí)執(zhí)行異步,有關(guān)計(jì)算的事watch做起來(lái)比較麻煩,用computed做計(jì)算比較簡(jiǎn)單,監(jiān)聽(tīng)的對(duì)象個(gè)數(shù):watch只對(duì)一個(gè)對(duì)象進(jìn)行監(jiān)聽(tīng),computed對(duì)多個(gè)對(duì)象進(jìn)行監(jiān)聽(tīng)(如果有兩個(gè)對(duì)象其中任意一個(gè)做變化,且不管其中哪個(gè)對(duì)象變化都是做相同的動(dòng)作的時(shí)候應(yīng)該怎么辦呢,把這兩個(gè)對(duì)象寫(xiě)在一個(gè)對(duì)象里面,再watch這個(gè)對(duì)象,多個(gè)watch之間應(yīng)該盡量避免數(shù)據(jù)耦合),在某些情況下,確實(shí)需要跟蹤觀察值的變化,確實(shí)要知道變化前的值和變化后的值,那么就需要使用watch。比如我現(xiàn)在子組件中,需要實(shí)現(xiàn)這樣一個(gè)功能,如果props中的某個(gè)對(duì)象發(fā)生了變化,那么就觸發(fā)對(duì)應(yīng)的methods。那么這個(gè)時(shí)候你需要用什么方法來(lái)觸發(fā)對(duì)應(yīng)的methods呢,這里很顯然需要使用watch。當(dāng)你想要在數(shù)據(jù)變化響應(yīng)時(shí),執(zhí)行異步操作或開(kāi)銷較大的操作,選擇使用watch,一個(gè)數(shù)據(jù)影響多個(gè)數(shù)據(jù)(一粒老鼠屎糟蹋一鍋粥)。適合監(jiān)控場(chǎng)景,某【一個(gè)】變量改變時(shí)需要做什么操作;類似于onchange,適合耗時(shí)操作,如網(wǎng)絡(luò)請(qǐng)求等。所以每個(gè)方法的存在,都是根據(jù)業(yè)務(wù)場(chǎng)景來(lái)的。

本文標(biāo)題:Vue中methodscomputed和watch的區(qū)別
當(dāng)前地址:http://bm7419.com/article36/pcsepg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、關(guān)鍵詞優(yōu)化、微信小程序外貿(mào)建站、云服務(wù)器網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都app開(kāi)發(fā)公司