最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于vue--key值的特殊用處詳解

 更新時(shí)間:2020年07月31日 09:34:34   作者:大小都是愁  
這篇文章主要介紹了基于vue--key值的特殊用處詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

數(shù)組的v-for

item in items

item of items

item,index in items

(item,index) in items

對(duì)象的v-for(鍵值,鍵名,索引)

value in object

(value, key) in object

(value, key, index) in object

v-for渲染的列表的結(jié)構(gòu)采用“就地復(fù)用”的策略,也就說(shuō)當(dāng)數(shù)據(jù)重新排列數(shù)據(jù)時(shí),會(huì)復(fù)用已在頁(yè)面渲染好的元素,不會(huì)移動(dòng) DOM 元素來(lái)匹配數(shù)據(jù)項(xiàng)的順序,這種模式是高效的,改變現(xiàn)有位置的結(jié)構(gòu)的數(shù)據(jù)即可

eg:

問(wèn)題:點(diǎn)擊翻轉(zhuǎn)數(shù)組哦,高亮并沒(méi)有跟隨1 在最后,而是直接復(fù)用在4上

原因:點(diǎn)擊翻轉(zhuǎn)數(shù)組哦,高亮并沒(méi)有跟隨1 在最后,而是直接復(fù)用在4上

解決:需要提供一個(gè)唯一的key值(常用ID),以便它能跟蹤每個(gè)節(jié)點(diǎn)的身份,從而重用和重新排序現(xiàn)有元素

補(bǔ)充知識(shí):vue---綁定key值與不綁定key的作用及其優(yōu)點(diǎn)

vue—key值綁定的作用及優(yōu)點(diǎn)

**

本文基于vue2x版本進(jìn)行解析

綁定key值:可以更快速和更精確的確定變化數(shù)據(jù)的位置,并進(jìn)行響應(yīng)式操作,在一定量的數(shù)據(jù)之上時(shí),是高性能的,更多的情況下與v-for一起使用;

不綁定key值:vue默認(rèn)機(jī)制狀態(tài)下的,當(dāng)小于一定數(shù)據(jù)量時(shí),并且DOM數(shù)據(jù)簡(jiǎn)單處理時(shí),在刻意使用的情況下,vue的默認(rèn)機(jī)制是更加高性能的,僅限于數(shù)據(jù)量較小,數(shù)據(jù)類(lèi)型簡(jiǎn)單且后續(xù)不會(huì)有過(guò)多更新時(shí)使用。

總的來(lái)說(shuō),綁定key值與v-for綁定使用效果更好,不綁定key,在簡(jiǎn)單場(chǎng)景下使用性能更高,各有優(yōu)缺點(diǎn),可根據(jù)使用場(chǎng)景,按需使用。

代碼分析見(jiàn)下文(如有錯(cuò)誤請(qǐng)不吝指出,如正確必采納改正)

1.在不綁定key的時(shí)候:

vue中的默認(rèn)機(jī)制是不綁定key,

<div class="father" v-for=" item in data">
  <div>1</div> //node:a  默認(rèn)狀態(tài)下的不綁定key的虛擬節(jié)點(diǎn)
  <div>2</div> //node:b
  <div>3</div> //node:c
  <div>4</div> //node:d
</div>

此狀態(tài)下的key值發(fā)生變化,更新的機(jī)制則是{就地更新},但相應(yīng)的虛擬節(jié)點(diǎn)不會(huì)發(fā)生變化`如下所示:這種是vue的默認(rèn)機(jī)制,就地更新,適用于簡(jiǎn)單的DOM數(shù)據(jù)渲染,在一定的數(shù)據(jù)量下,是比key值綁定更加高性能的;

<div class="father" v-for=" item in data">
  <div>2</div> //node:a  數(shù)據(jù)變化后,默認(rèn)機(jī)制的標(biāo)識(shí)沒(méi)有變化,
  <div>3</div> //node:b
  <div>4</div> //node:c
  <div>1</div> //node:d
</div>

2:在綁定key值的時(shí)候:

此時(shí),所有的虛擬節(jié)點(diǎn)均被綁定唯一的標(biāo)識(shí),類(lèi)似于身份證的作用;

<div class="father" v-for=" item in data" :key="item.id">
  <div>1</div> //key:a  key值為唯一標(biāo)識(shí),
  <div>2</div> //key:b
  <div>3</div> //key:c
  <div>4</div> //key:d 
</div>

如果其中的數(shù)據(jù)發(fā)生變化,diff算法會(huì)映射到變化的虛擬節(jié)點(diǎn),更加快速和精準(zhǔn)的找到變化的節(jié)點(diǎn),并對(duì)其進(jìn)行newkey和oldkey的值判斷,進(jìn)行相應(yīng)的更新操作:如下

<div class="father" v-for=" item in data" :key="item.id">
  <div>4</div> //key:d //數(shù)值變化 key值作為唯一標(biāo)識(shí),跟隨
  <div>2</div> //key:b
  <div>3</div> //key:c
  <div>1</div> //key:a //數(shù)值變化 key值作為唯一標(biāo)識(shí),跟隨
</div>

key的唯一標(biāo)識(shí)是跟隨數(shù)據(jù)變化的,并且唯一對(duì)應(yīng),

以上這篇基于vue--key值的特殊用處詳解就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • vue-cli3.X快速創(chuàng)建項(xiàng)目的方法步驟

    vue-cli3.X快速創(chuàng)建項(xiàng)目的方法步驟

    這篇文章主要介紹了vue-cli3.X快速創(chuàng)建項(xiàng)目的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • Vue.js項(xiàng)目在apache服務(wù)器部署問(wèn)題解決

    Vue.js項(xiàng)目在apache服務(wù)器部署問(wèn)題解決

    本文主要介紹了Vue.js項(xiàng)目在apache服務(wù)器部署問(wèn)題解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • VUE+ElementUI下載文件的幾種方式(小結(jié))

    VUE+ElementUI下載文件的幾種方式(小結(jié))

    本文主要介紹了VUE+ElementUI下載文件的幾種方式(小結(jié)),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • vue組件watch屬性實(shí)例講解

    vue組件watch屬性實(shí)例講解

    這篇文章主要為大家詳細(xì)介紹了vue組件watch屬性實(shí)例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • VUE登錄注冊(cè)頁(yè)面完整代碼(直接復(fù)制)

    VUE登錄注冊(cè)頁(yè)面完整代碼(直接復(fù)制)

    這篇文章主要給大家介紹了關(guān)于VUE登錄注冊(cè)頁(yè)面的相關(guān)資料,在Vue中可以使用組件來(lái)構(gòu)建登錄注冊(cè)頁(yè)面,文中通過(guò)圖文以及代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-12-12
  • vue實(shí)現(xiàn)重置表單信息為空的方法

    vue實(shí)現(xiàn)重置表單信息為空的方法

    今天小編就為大家分享一篇vue實(shí)現(xiàn)重置表單信息為空的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-09-09
  • vue中使用element ui的彈窗與echarts之間的問(wèn)題詳解

    vue中使用element ui的彈窗與echarts之間的問(wèn)題詳解

    這篇文章主要介紹了vue中使用element ui的彈窗與echarts之間的問(wèn)題詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • vue項(xiàng)目main.js配置及使用方法

    vue項(xiàng)目main.js配置及使用方法

    main.js是項(xiàng)目的入口文件,項(xiàng)目中所有的頁(yè)面都會(huì)加載main.js,本文主要介紹了vue項(xiàng)目main.js配置及使用方法,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2023-05-05
  • vue項(xiàng)目中使用百度地圖的方法

    vue項(xiàng)目中使用百度地圖的方法

    這篇文章主要介紹了在vue項(xiàng)目中使用百度地圖的方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒借鑒價(jià)值,需要的朋友可以參考下
    2018-06-06
  • vue移動(dòng)端實(shí)現(xiàn)紅包雨效果

    vue移動(dòng)端實(shí)現(xiàn)紅包雨效果

    這篇文章主要為大家詳細(xì)介紹了vue移動(dòng)端實(shí)現(xiàn)紅包雨效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-07-07

最新評(píng)論

丰城市| 宁陵县| 姚安县| 当阳市| 和林格尔县| 上林县| 南开区| 浮梁县| 微博| 华安县| 资阳市| 禄劝| 阿城市| 金乡县| 永州市| 江油市| 墨竹工卡县| 鸡西市| 张家界市| 隆回县| 新龙县| 罗田县| 奉新县| 镶黄旗| 扬州市| 阿拉善左旗| 荔浦县| 慈溪市| 霍林郭勒市| 萨迦县| 平塘县| 当阳市| 青河县| 广元市| 襄垣县| 个旧市| 郯城县| 涞水县| 康定县| 隆尧县| 太康县|