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

詳解vue數(shù)據(jù)響應(yīng)式原理之?dāng)?shù)組

 更新時間:2022年02月13日 12:06:30   作者:前端阿龍  
這篇文章主要為大家詳細(xì)介紹了vue數(shù)據(jù)響應(yīng)式原理之?dāng)?shù)組,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助

src/core/observer/index.js

在這里插入圖片描述

src/core/observer/array.js arrayMethods

在這里插入圖片描述

  • 當(dāng)data的數(shù)組對象中本來沒有某個屬性,然后點擊按鈕動態(tài)增加某個屬性的時候,此時此屬性是沒有g(shù)et和set的,也就是沒有響應(yīng)式機(jī)制,如果想要讓你動態(tài)增加的某個屬性有響應(yīng)式變化,那么就直接在數(shù)據(jù)的源頭給他初始化這個屬性,具體看下一條。
  • 當(dāng)向后端返回的結(jié)果的數(shù)組對象中新增屬性的時候,建議首先循環(huán)賦值完成之后再賦值給對應(yīng)的data中的變量,這樣data中變量給每個數(shù)組對象里面的屬性都會加上get和set
  • 例如:后端返回一個數(shù)組對象是 [{xx: 1},{xx: 2}],然后我們獲取到這個數(shù)組對象后把這個數(shù)組對象賦值給了this.list,那么我的data中的list的兩個數(shù)組對象中的xx屬性就有g(shù)et和set了,換句話說就是響應(yīng)式的了,如果我們想要點擊按鈕的時候動態(tài)給當(dāng)前數(shù)組對象中增加一個cc屬性,this.list[0].cc = 2, 請注意 此時cc屬性雖然添加到了我們對應(yīng)的數(shù)組對象中,但是它不是響應(yīng)式的,想要解決這個問題,那就直接在獲取后端的數(shù)據(jù)的時候直接循環(huán)添加cc屬性,設(shè)置為空,然后再賦值給this.list就行了

調(diào)試

在這里插入圖片描述

  • 我們可以看到上面的數(shù)組在最開始第一步的時候只有[1,2,3] 三個元素,然后當(dāng)我們執(zhí)行了push方法后增加了一個元素,且視圖也實時更新了,這是因為在源碼中vue對修改數(shù)組的方法做了響應(yīng)式的處理
  • 我們再看第三第四部修改list數(shù)組也生效了,但是視圖并沒有實時更新,這是因為vue在對數(shù)組的處理上面只修改了一些數(shù)組的方法和對數(shù)組中對象增加了響應(yīng)式的操作,這是因為數(shù)組可能有很長,出于性能的考慮,沒有對數(shù)組的每一個元素都做響應(yīng)式的處理。如果我們想實現(xiàn)第三第四步響應(yīng)式可以使用數(shù)組的splice方法就行了

總結(jié)

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!      

相關(guān)文章

  • 如何解決d3.event在v7版本無效影響zoom拖拽縮放問題

    如何解決d3.event在v7版本無效影響zoom拖拽縮放問題

    這篇文章主要介紹了如何解決d3.event在v7版本無效影響zoom拖拽縮放問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • Vue3中createWebHistory和createWebHashHistory的區(qū)別詳析

    Vue3中createWebHistory和createWebHashHistory的區(qū)別詳析

    這篇文章主要給大家介紹了關(guān)于Vue3中createWebHistory和createWebHashHistory區(qū)別的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2023-06-06
  • 利用Nuxt.js做Vuex數(shù)據(jù)持久化

    利用Nuxt.js做Vuex數(shù)據(jù)持久化

    這篇文章主要介紹了利用Nuxt.js做Vuex數(shù)據(jù)持久化問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • 深入了解vue-router原理并實現(xiàn)一個小demo

    深入了解vue-router原理并實現(xiàn)一個小demo

    這篇文章主要為大家詳細(xì)介紹了vue-router原理并實現(xiàn)一個小demo,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • vue.js—定義全局變量、函數(shù)的方式

    vue.js—定義全局變量、函數(shù)的方式

    這篇文章主要介紹了vue.js—定義全局變量、函數(shù)的方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • vue實現(xiàn)高德地圖添加多個點標(biāo)記

    vue實現(xiàn)高德地圖添加多個點標(biāo)記

    地圖多點標(biāo)注其實是個非常簡單的問題,這篇文章主要給大家介紹了關(guān)于vue實現(xiàn)高德地圖添加多個點標(biāo)記的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-06-06
  • vue實現(xiàn)圖書管理系統(tǒng)

    vue實現(xiàn)圖書管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了vue實現(xiàn)圖書管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-12-12
  • vue定時器設(shè)置和關(guān)閉頁面時關(guān)閉定時器方式

    vue定時器設(shè)置和關(guān)閉頁面時關(guān)閉定時器方式

    這篇文章主要介紹了vue定時器設(shè)置和關(guān)閉頁面時關(guān)閉定時器方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • Vue中的計算屬性與監(jiān)聽屬性

    Vue中的計算屬性與監(jiān)聽屬性

    這篇文章介紹了Vue中的計算屬性與監(jiān)聽屬性,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-03-03
  • vue-admin-template模板添加tagsview的實現(xiàn)

    vue-admin-template模板添加tagsview的實現(xiàn)

    本文主要介紹了vue-admin-template模板添加tagsview的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04

最新評論

彝良县| 镇赉县| 开封县| 略阳县| 苗栗县| 长阳| 平凉市| 桦川县| 孙吴县| 平陆县| 山阳县| 清新县| 岳西县| 陇南市| 东城区| 防城港市| 沙坪坝区| 甘德县| 门头沟区| 瓮安县| 灌南县| 千阳县| 庆云县| 鹤峰县| 高平市| 东源县| 安国市| 儋州市| 大洼县| 株洲市| 民乐县| 沐川县| 元朗区| 慈利县| 江源县| 嘉祥县| 兴和县| 全南县| 衡阳市| 南丹县| 呼伦贝尔市|