處理依賴,Vue還提供了另外一種處理依賴的方法:偵聽對象。
再computed屬性里面,我們設(shè)置需要計算的屬性,而在函數(shù)里面設(shè)置計算這個屬性的邏輯,偵聽屬性采用的則是另外一種機制,把想要偵聽的屬性名稱設(shè)置為鍵,這里就是counter這個鍵,必須與屬性名稱相同,這里就是data屬性中的counter屬性,在函數(shù)中指定counter屬性變化時需要執(zhí)行的代碼,Vue會自動把屬性變化之后的數(shù)值傳遞給該函數(shù),以允許我們對屬性變化做出反應(yīng),所以這里我也可以通過設(shè)置一個全局輸出變量來實現(xiàn),有時可能確實得這樣,比如屬性不能像這里這樣計算,然后再其它地方設(shè)置變量值,雖然這樣做也可以,但是我會馬上告訴你最佳方法還是盡量再允許的情況下多使用計算屬性,因為這樣做優(yōu)化最好,比如使用緩存等等,通過減少不必要的任務(wù),讓Vue允許更快,盡管有時候你需要對每一次變化做出反應(yīng),另外一個計算屬性不能實現(xiàn)的功能是,執(zhí)行異步任務(wù),計算屬性必須同步執(zhí)行,也就是說再compute的函數(shù)里面,必須立即返回一個返回值,中間不能訪問服務(wù)器或者執(zhí)行異步任務(wù),如果需要執(zhí)行異步任務(wù),或者像前面一樣,需要再屬性更新時執(zhí)行的代碼,那就不能用計算屬性來解決了。這時你就可以使用偵聽對象。比如你打算兩秒后充值counter屬性值,再watch:counter里面增加一個setTimeout()方法,注意,因為這個函數(shù)再回調(diào)內(nèi)的閉包里,所以必須再另外一個變量中存儲Vue實例,this讓我們可以方便第訪問實例中的各個屬性,但是它必須放在一個變量里,Vue實例的屬性以及其它的數(shù)據(jù),再Vue實例的默認(rèn)對象和函數(shù)里面都可以通過this直接訪問,但是再回調(diào)閉包里面則不行。
查看效果,改變counter值,但是兩秒后被充值,因為設(shè)置了偵聽對象,所以counter一變化就會調(diào)用函數(shù),執(zhí)行這部分代碼就可以訪問異步任務(wù)了。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
網(wǎng)頁標(biāo)題:偵聽對象watch-創(chuàng)新互聯(lián)
路徑分享:http://newbst.com/article8/dihcip.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機網(wǎng)站建設(shè)、企業(yè)網(wǎng)站制作、品牌網(wǎng)站設(shè)計、搜索引擎優(yōu)化、云服務(wù)器、網(wǎng)站導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)