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

您的位置:首頁技術文章
文章詳情頁

Vue中watch、computed、updated三者的區別及用法

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

1、watch

理解: 監聽器,監聽某個數據的變化從而來執行一些操作,當data里面的數據發生變化的時候來執行一下開銷較大或異步的操作

1、監聽值類型(簡單類型)數據

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

2、監聽引用(復雜)類型的數據

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

2、computed

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

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

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

到這里我先略微總結一下這兩者的區別,以及使用場景

computed:

1、監控自己定義的變量,不用再data里面聲明,函數名就是變量名

2、適合多個變量或對象進行處理后返回一個值(結果)。若這多個變量發生只要有一個發生變化,結果都會變化。

3、計算的結果具有緩存,依賴響應式屬性變化,響應式屬性沒有變化,直接從緩存中讀取結果。

4、在內部函數調用的時候不用加()。

5、必須用return返回

6、不要在computed 中對data中的數據進行賦值操作,這會形成一個死循環。

watch:

1、watch 函數是不需要調用的。

2、重點在于監控,監控數據發生變化的時候,執行回調函數操作。

3、當我們需要在數據變化時執行異步或開銷較大的操作時,應該使用 watch

4、函數名就是你要監聽的數據名字

使用場景:

computed:

1、一個需要的結果受多個數據影響的時候,比如購物車結算金額(受到很多處的價格結算)。

2、操作某個屬性,執行一些復雜的邏輯,并在多處使用這個結果。

3、內部函數中多處要使用到這個結果的。

watch :

1、監控一些input框值的特殊處理,適合一個數據影響多個數據。

2、數據變化時,執行一些異步操作,或開銷比較大的操作

3、updated

理解: 是vue生命周期里面的一個鉤子函數—data數據更新后觸發視圖更新。這里是視圖更新之后的操作可以在這里執行。

觸發條件:

1、當data中定義的數據有變化時就會加載updated方法。

2、任何數據的更新,如果要做統一的業務邏輯處理

3、在大多數情況下,此期間避免更改狀態,因為這可能會導致更新無限循環。該鉤子在服務器端渲染期間不被調用。

特點:

1.執行到它的時候時候是數據發生變化且界面更新完畢

2.不能監聽到路由數據(例如網址中的參數)

3.所有的數據發生變化都會調用(消耗性能)

4.只要數據發生變化,每次觸發的代碼都是同一個

補充知識:vue中渲染數據可能有一個無限更新循環--You may have an infinite update loop in a component render function.

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

今天在接接口數據時發現數據搞反了,于是想著把數據倒敘一下

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

結果報了個錯

找了好久發現問題就在于reverse()這個方法

vue的響應式原理中對于數組的更新檢測包含了一組觀察數組的編譯方法

push()

pop()

shift()

unshift()

splice()

sort()

reverse()

而我在呈現的數據中調用了reverse()這個方法,這樣就會導致無限的更新循環。

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

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

標簽: Vue
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
欧美黄色网页| 欧美啪啪一区| 欧美成a人国产精品高清乱码在线观看片在线观看久 | av不卡免费看| 久久精品网址| 久久国产精品免费一区二区三区 | 亚洲一区亚洲| 欧美日韩国产在线观看网站| 欧美女激情福利| 日韩一区二区三区在线看| 精品久久亚洲| 国产伦久视频在线观看| 日韩中文欧美| 欧美jjzz| 久久香蕉精品| 久久精品亚洲| 日韩精品午夜| 亚洲少妇自拍| 蜜臀久久99精品久久久画质超高清| 一本色道精品久久一区二区三区| 在线看片不卡| 午夜欧美视频| 中文字幕成人| 欧美国产极品| 欧美激情另类| 国产视频亚洲| 日韩国产在线观看一区| 老司机精品视频在线播放| 91一区二区| 久久国产精品亚洲77777| 国产乱码精品一区二区三区亚洲人| 久久天堂影院| 久久精品亚洲人成影院| 国产尤物精品| 91精品国产自产精品男人的天堂| 亚州欧美在线| 日韩三区免费| 亚洲精品激情| 神马午夜在线视频| 午夜性色一区二区三区免费视频| 婷婷精品久久久久久久久久不卡| 亚洲狼人精品一区二区三区| 国产精品www.| 99精品美女| 国产精品资源| 欧美日韩国产亚洲一区| 久久成人av| 免费在线看一区| av资源亚洲| 亚洲+小说+欧美+激情+另类| 日本久久综合| 欧美日韩1区| 丝袜诱惑制服诱惑色一区在线观看| 欧美国产中文高清| 少妇精品久久久| 亚洲性色视频| 中文字幕一区二区精品区| 影音国产精品| 欧洲av不卡| 久久久国产精品网站| 91成人精品在线| 91精品成人| 在线日韩中文| 日韩国产网站| 色天使综合视频| 97在线精品| 精品国产亚洲日本| 国产精品中文字幕制服诱惑| 91欧美精品| 久久免费视频66| 国产精品九九| 国产一区 二区| 免费亚洲婷婷| 精品福利久久久| 精品72久久久久中文字幕| 蜜桃久久久久| 捆绑调教美女网站视频一区| 开心激情综合| 国产精品3区| 国产日韩欧美一区二区三区在线观看| 日韩1区2区3区| 欧美日一区二区三区在线观看国产免| 日韩不卡一区二区| 99国产精品| 桃色一区二区| 成人午夜亚洲| 国产亚洲人成a在线v网站| 青青青国产精品| 国产极品嫩模在线观看91精品| 久久99影视| 成人看片网站| 国产中文在线播放| 日韩欧美久久| 国产不卡精品| 视频一区在线播放| 国产精品sss在线观看av| 麻豆视频在线看| av不卡在线| 欧美国产日韩电影| 国内精品亚洲| 日韩三级精品| 欧美国产免费| 激情综合网站| 久久国产免费看| 国产综合婷婷| 久久av网站| 日韩一级不卡| 久久精品国产99国产精品| 日韩免费一区| 色婷婷色综合| 日韩高清国产一区在线| 在线一区二区三区视频| 国产精品亚洲人成在99www| 亚洲成av人片一区二区密柚| 99国产精品私拍| 日韩国产精品久久久久久亚洲| 乱人伦精品视频在线观看| 国产精品蜜月aⅴ在线| 亚洲电影在线| 成人福利av| 国产亚洲一区| 美女网站久久| 国产一区视频在线观看免费| 国产亚洲人成a在线v网站| 亚洲韩日在线| 国产精品一区二区av交换| 色在线视频观看| 久久久久观看| 人人精品久久| 国产日韩一区二区三区在线 | 日本不卡高清| 蜜臀av一区二区在线免费观看| 日本国产精品| 日韩理论视频| 久久超级碰碰| 欧美13videosex性极品| 国产成人黄色| 国产成人久久精品麻豆二区| 91成人精品在线| 国产欧美亚洲精品a| 日本精品久久| 欧美日韩亚洲一区三区| 在线综合视频| 蜜乳av另类精品一区二区| 国产亚洲一级| 黑丝美女一区二区| 国产一区91| 亚洲色图网站| 日韩精选在线| 日本视频一区二区| 国产日韩欧美一区二区三区在线观看 | 日本aⅴ亚洲精品中文乱码 | 青青草91视频| 国产日韩欧美一区二区三区| 国产96在线亚洲| 日韩中文在线播放| 午夜欧美理论片| 日韩在线麻豆| 亚洲我射av| 日韩av有码| 成人亚洲一区二区| 蜜桃视频在线网站| 狠狠色综合网| 久久精品国内一区二区三区水蜜桃| 久久精品一区| 成人午夜网址| se01亚洲视频| 亚洲在线网站| 99视频在线精品国自产拍免费观看| 欧美资源在线| 国产精品亚洲综合在线观看| 99xxxx成人网| 日韩欧美高清一区二区三区| 日韩av一区二区三区四区| 日韩不卡一二三区| 久草精品视频| 国产一区白浆| 久久久91麻豆精品国产一区| 国产精品一页| 欧美一级精品| 亚洲激情社区| 国产亚洲精aa在线看| 精品中国亚洲| 国产亚洲毛片在线| 日韩精品免费视频人成| 91视频久久| 日韩制服丝袜先锋影音| 精品视频97| 亚洲婷婷在线| 日韩精品一区二区三区免费观看| 一区二区三区网站| 高清一区二区三区| 欧美片第1页综合| 久久激情一区| 日本中文字幕一区二区视频| 日韩高清不卡| 国产精品天天看天天狠| 夜夜嗨网站十八久久| 精品久久99| 久久99高清|