日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

Vue中watch、computed、updated三者的區(qū)別及用法

瀏覽:155日期:2022-12-27 08:22:15

1、watch

理解: 監(jiān)聽器,監(jiān)聽某個(gè)數(shù)據(jù)的變化從而來執(zhí)行一些操作,當(dāng)data里面的數(shù)據(jù)發(fā)生變化的時(shí)候來執(zhí)行一下開銷較大或異步的操作

1、監(jiān)聽值類型(簡單類型)數(shù)據(jù)

//在一個(gè)vue實(shí)例中 new Vue({ el:'#myApp', data:{ num1:1, num2:2 }, methods:{}, watch:{ //這里兩個(gè)屬性,第一個(gè)值是變化后最新的值,第二個(gè)是變化前 num1(after,before){this.num2 = after +1 } immediate:true //頁面首次加載的時(shí)候做一次監(jiān)聽。 //這里的意思就是,監(jiān)聽num1的變化,當(dāng)num1的數(shù)據(jù)發(fā)生變化的時(shí)候,來操作num2的值 } })

2、監(jiān)聽引用(復(fù)雜)類型的數(shù)據(jù)

new Vue({ el:'#myApp', data:{ obj:{userName:'caicai' } }, watch:{ obj:{handler(newValue,oldValue){ // handler函數(shù)是當(dāng)你的obj發(fā)生變化的時(shí)候你要做什么 console.log(newValue.userName,oldValue.userName);},deep:true //是否深度偵聽,true開啟,false關(guān)閉,默認(rèn)false//加了deep之后相當(dāng)于在對象obj每一層的屬性都加上了handler偵聽器。否則的話偵聽到的只是引用地址,不會(huì)執(zhí)行handler函數(shù) } } });

2、computed

理解: 計(jì)算屬性,顧名思義就是通過某個(gè)屬性(數(shù)據(jù))來計(jì)算得到某個(gè)屬性,這個(gè)重點(diǎn)在于計(jì)算,我們希望的是拿到data數(shù)據(jù)后處理一下,得到計(jì)算的結(jié)果。

在原vue中的template模板,作者初衷只是進(jìn)行一些簡單的運(yùn)算,那么比較復(fù)雜的計(jì)算就可用computed來進(jìn)行操作

<div id='myApp'> <input type='text' v-model='str'> 1、第一種操作,寫在模板里,導(dǎo)致模板過重,難于維護(hù) <p>{{str.split('').reverse().join('')}}</p> 2、第二種,使用一個(gè)方法來調(diào)用,若多處使用,就執(zhí)行多次,降低運(yùn)行速度,性能減少 <p>{{fn(str)}}</p> 3、第三種,使用過濾器,具有緩存,只要str不發(fā)生變化,就不會(huì)再次進(jìn)行運(yùn)算 <p>{{reverseStr}}</p> </div><script type='text/javascript'>new Vue({ el:'#myApp', data:{ str:'abcd' }, methods:{ fn(v){ //若多出調(diào)用,就執(zhí)行多次 return v.split('').reverse().join('')//炸開--反轉(zhuǎn)--組合 } }, computed:{ reverseStr(){ //str不發(fā)生變化的話,我只執(zhí)行一次,具有緩存 return this.str.split('').reverse().join('') } }})</script>

到這里我先略微總結(jié)一下這兩者的區(qū)別,以及使用場景

computed:

1、監(jiān)控自己定義的變量,不用再data里面聲明,函數(shù)名就是變量名

2、適合多個(gè)變量或?qū)ο筮M(jìn)行處理后返回一個(gè)值(結(jié)果)。若這多個(gè)變量發(fā)生只要有一個(gè)發(fā)生變化,結(jié)果都會(huì)變化。

3、計(jì)算的結(jié)果具有緩存,依賴響應(yīng)式屬性變化,響應(yīng)式屬性沒有變化,直接從緩存中讀取結(jié)果。

4、在內(nèi)部函數(shù)調(diào)用的時(shí)候不用加()。

5、必須用return返回

6、不要在computed 中對data中的數(shù)據(jù)進(jìn)行賦值操作,這會(huì)形成一個(gè)死循環(huán)。

watch:

1、watch 函數(shù)是不需要調(diào)用的。

2、重點(diǎn)在于監(jiān)控,監(jiān)控?cái)?shù)據(jù)發(fā)生變化的時(shí)候,執(zhí)行回調(diào)函數(shù)操作。

3、當(dāng)我們需要在數(shù)據(jù)變化時(shí)執(zhí)行異步或開銷較大的操作時(shí),應(yīng)該使用 watch

4、函數(shù)名就是你要監(jiān)聽的數(shù)據(jù)名字

使用場景:

computed:

1、一個(gè)需要的結(jié)果受多個(gè)數(shù)據(jù)影響的時(shí)候,比如購物車結(jié)算金額(受到很多處的價(jià)格結(jié)算)。

2、操作某個(gè)屬性,執(zhí)行一些復(fù)雜的邏輯,并在多處使用這個(gè)結(jié)果。

3、內(nèi)部函數(shù)中多處要使用到這個(gè)結(jié)果的。

watch :

1、監(jiān)控一些input框值的特殊處理,適合一個(gè)數(shù)據(jù)影響多個(gè)數(shù)據(jù)。

2、數(shù)據(jù)變化時(shí),執(zhí)行一些異步操作,或開銷比較大的操作

3、updated

理解: 是vue生命周期里面的一個(gè)鉤子函數(shù)—data數(shù)據(jù)更新后觸發(fā)視圖更新。這里是視圖更新之后的操作可以在這里執(zhí)行。

觸發(fā)條件:

1、當(dāng)data中定義的數(shù)據(jù)有變化時(shí)就會(huì)加載updated方法。

2、任何數(shù)據(jù)的更新,如果要做統(tǒng)一的業(yè)務(wù)邏輯處理

3、在大多數(shù)情況下,此期間避免更改狀態(tài),因?yàn)檫@可能會(huì)導(dǎo)致更新無限循環(huán)。該鉤子在服務(wù)器端渲染期間不被調(diào)用。

特點(diǎn):

1.執(zhí)行到它的時(shí)候時(shí)候是數(shù)據(jù)發(fā)生變化且界面更新完畢

2.不能監(jiān)聽到路由數(shù)據(jù)(例如網(wǎng)址中的參數(shù))

3.所有的數(shù)據(jù)發(fā)生變化都會(huì)調(diào)用(消耗性能)

4.只要數(shù)據(jù)發(fā)生變化,每次觸發(fā)的代碼都是同一個(gè)

補(bǔ)充知識(shí):vue中渲染數(shù)據(jù)可能有一個(gè)無限更新循環(huán)--You may have an infinite update loop in a component render function.

今天在在工作中碰到個(gè)問題,在此記錄下。

今天在接接口數(shù)據(jù)時(shí)發(fā)現(xiàn)數(shù)據(jù)搞反了,于是想著把數(shù)據(jù)倒敘一下

<row-list v-if='dataList.rules' :canSelect='!isClose' :dataList='dataList.rules[0].subLotteryRule[0].subLotteryRule.reverse()' @selectRow='selectRow'></row-list>

結(jié)果報(bào)了個(gè)錯(cuò)

找了好久發(fā)現(xiàn)問題就在于reverse()這個(gè)方法

vue的響應(yīng)式原理中對于數(shù)組的更新檢測包含了一組觀察數(shù)組的編譯方法

push()

pop()

shift()

unshift()

splice()

sort()

reverse()

而我在呈現(xiàn)的數(shù)據(jù)中調(diào)用了reverse()這個(gè)方法,這樣就會(huì)導(dǎo)致無限的更新循環(huán)。

解決辦法也很簡單,可以在vue實(shí)例的數(shù)據(jù)對象賦值之前調(diào)用reverse()就可以了

以上這篇Vue中watch、computed、updated三者的區(qū)別及用法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Vue
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日韩欧美四区| 国产精品色在线网站| 午夜av不卡| 日本高清不卡一区二区三区视频| 日本免费新一区视频| 欧美久久久网站| 美女av一区| 久久男人天堂| 亚洲婷婷在线| 免费在线观看成人| 日本三级亚洲精品| 精品三区视频| 欧美.日韩.国产.一区.二区| 日韩精品欧美成人高清一区二区| 欧美中文一区二区| 91成人精品观看| 国产欧美二区| 美女福利一区二区三区| 亚洲精品高潮| 日韩成人亚洲| 91亚洲一区| caoporn视频在线| 91精品国产自产在线丝袜啪| 91精品电影| 夜夜精品视频| 综合激情五月婷婷| 免费人成在线不卡| 亚洲午夜国产成人| 亚洲国产一区二区三区在线播放| 黑人精品一区| 日韩国产一区二区| 久久蜜桃精品| 国产亚洲精品v| 视频一区二区不卡| 国产精品一站二站| 国产日韩电影| 亚洲免费在线| 亚洲激情欧美| 欧美自拍一区| 在线手机中文字幕| 亚洲女人av| 日本成人在线不卡视频| 麻豆久久久久久久| 在线中文字幕播放| 不卡在线一区| 午夜在线视频一区二区区别| 欧美综合精品| 1024精品一区二区三区| 日韩国产欧美一区二区三区| 91一区二区三区四区| 狠狠爱成人网| 国产亚洲高清一区| 美女亚洲一区| 久久麻豆视频| 亚洲精品字幕| 日韩伦理在线一区| 久久精品99久久久| 亚洲一级淫片| 久久精品国内一区二区三区| 亚洲综合不卡| 欧洲亚洲一区二区三区| 久久只有精品| 丝袜脚交一区二区| 日韩精品第一区| 国产视频网站一区二区三区| 成人羞羞视频播放网站| 日韩黄色av| 九九综合九九| 日韩av有码| 精品美女视频| 国产在线一区不卡| 国产精品极品| 亚洲精品黄色| 婷婷综合社区| 韩国一区二区三区视频| 日韩欧美美女在线观看| 夜久久久久久| 亚洲精品网址| 日韩午夜精品| 日欧美一区二区| 亚洲男女自偷自拍| 免费精品视频最新在线| 久久成人精品| 蜜桃视频第一区免费观看| 日韩国产欧美| 成人久久一区| 精品欧美久久| 综合欧美亚洲| 亚洲精品观看| 日韩一区中文| 国产精品蜜月aⅴ在线| 国产乱码精品一区二区三区亚洲人 | 日韩美女精品| 中文精品电影| 欧美片网站免费| 国产免费av国片精品草莓男男| 欧美日韩xxxx| 五月天av在线| 欧洲一区二区三区精品| 日韩视频精品在线观看| 日本一区二区三区中文字幕| 国产精品一卡| 高清av一区| 亚洲成人一区| 日韩av黄色在线| 桃色av一区二区| 亚洲伊人精品酒店| 国产精品4hu.www| 视频小说一区二区| 日韩在线成人| 国产伊人精品| 精品免费视频| 亚洲青青久久| 欧美日韩一视频区二区| 99久久久久| 精品一区二区三区四区五区| 999久久久精品国产| 国产麻豆精品久久| 久久国产亚洲| 久久av资源| 日韩精品国产精品| 国产模特精品视频久久久久| 国产另类在线| 日韩中文欧美在线| 精品入口麻豆88视频| 在线亚洲观看| 久久精品动漫| 久久精品国产www456c0m| 91精品啪在线观看国产爱臀| 日韩视频不卡| 色吊丝一区二区| 黄毛片在线观看| 伊人久久在线| 神马午夜久久| 国产色播av在线| 国产日韩中文在线中文字幕| 亚洲精品乱码久久久久久蜜桃麻豆 | 在线天堂资源www在线污| 视频一区中文字幕| 久久的色偷偷| 久久电影一区| 日韩在线观看| 欧美黄页在线免费观看| 人人爽香蕉精品| 亚洲免费播放| 欧美99久久| 在线一区视频观看| 91亚洲成人| 国产日韩欧美三级| 国产精品免费不| 日韩av在线免费观看不卡| 99日韩精品| 成人美女视频| 99精品在线观看| 国产欧美激情| 国产精品sss在线观看av| 欧美在线不卡| 国产日产精品_国产精品毛片| 亚洲电影在线一区二区三区| 亚洲va中文在线播放免费| 国产一区调教| 国产a久久精品一区二区三区| 91欧美极品| 欧美精品观看| 日韩精品免费观看视频| 久久国产精品美女| 日韩国产欧美| 久久的色偷偷| 日韩欧美视频专区| 国产伦久视频在线观看| 国产aⅴ精品一区二区三区久久| 人人爽香蕉精品| 国产亚洲精品精品国产亚洲综合| 国产精品视频一区二区三区综合| 福利一区和二区| 亚洲黄页一区| 日本中文字幕不卡| 国产激情一区| 正在播放日韩精品| 久久国产精品久久久久久电车| 少妇精品久久久一区二区| 国产探花在线精品| 日韩欧美午夜| 日本精品国产| 日本黄色精品| 国产盗摄——sm在线视频| 性欧美xxxx免费岛国不卡电影| 蜜桃一区二区三区在线观看| 国产一区二区三区四区五区传媒| 欧美在线资源| 日本久久一区| 午夜精品网站| 国产传媒在线观看| 欧美亚洲网站| 亚洲精品综合| 日本久久精品| 日韩精品久久久久久久软件91| 精精国产xxxx视频在线播放| 国产欧美丝祙| 影音先锋国产精品|