亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

vue中改變了vuex數(shù)據(jù)視圖不更新,也監(jiān)聽(tīng)不到的原因及解決

 更新時(shí)間:2023年03月28日 09:22:48   作者:會(huì)點(diǎn)php的前端小渣渣  
這篇文章主要介紹了vue中改變了vuex數(shù)據(jù)視圖不更新,也監(jiān)聽(tīng)不到的原因及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

vue改變了vuex數(shù)據(jù)視圖不更新,也監(jiān)聽(tīng)不到

首先我這里就不說(shuō)什么強(qiáng)制刷新api了,那東西沒(méi)用。

我也不說(shuō)什么計(jì)算屬性里面要依賴data里面的變量變化了才計(jì)算

因?yàn)樯厦?個(gè)我都試過(guò)了

解決辦法是

使用 Object.assign({}, pageInfo.detail, obj)賦值即可正常解決

在vuex里面

? ? updateContent({
? ? ? ? commit,
? ? ? ? state
? ? }, {
? ? ? ? key,
? ? ? ? value
? ? }) {
? ? ? ? let pageInfo = state.pageInfo;
? ? ? ?
? ? ? ? ? ? //pageInfo.detail[key] = value ?一開(kāi)始我這里直接賦值的不行
? ? ? ? ? ? let obj = {}
? ? ? ? ? ? obj[key] = value
? ? ? ? ? ? pageInfo.detail = Object.assign({}, pageInfo.detail, obj)
? ? }

pageInfo.detail[key] = value  這種寫(xiě)法里面其實(shí)vue2里面是不會(huì)被監(jiān)聽(tīng)到變化的 

1. 不能監(jiān)聽(tīng)的情況

(1) 直接通過(guò)下標(biāo)賦值  arr[i] = value

(2) 直接修改數(shù)組長(zhǎng)度 arr.length = newLen 

替代方法

Vue.set(arr, index, newvalue)
arr.splice(newLen)

vue響應(yīng)式數(shù)據(jù)已獲取視圖不更新問(wèn)題

首先 => 我們要深刻理解 Vue響應(yīng)式的原理 通過(guò)get 和 set進(jìn)行獲取與設(shè)置 同時(shí)通知觀察者進(jìn)行新舊虛擬dom樹(shù) diff算法就地更新 重新渲染組件

特別注意 => Vue官方文檔的注意事項(xiàng)

由于javaScript的限制 Vue不能檢測(cè)數(shù)組和對(duì)象的變化 因此你就要思考 為什么我的響應(yīng)式有問(wèn)題

我們看一個(gè)實(shí)戰(zhàn)bug 同事托我解決的一個(gè)問(wèn)題

watch 偵聽(tīng)tree回調(diào)函數(shù) 過(guò)濾出來(lái)的數(shù)組 從而去觸發(fā)filterNode

但是watch正常 但是偏偏不觸發(fā)filterNode 一切正常 數(shù)據(jù)全有 變化也有 refdom節(jié)點(diǎn)也能打印出來(lái) 就是不觸發(fā)~ 唯一的可能性 樹(shù)是空的 所以導(dǎo)致不觸發(fā)回調(diào)過(guò)濾

但是有時(shí)候刷新頁(yè)面能觸發(fā) 有時(shí)候不能觸發(fā)  我懷疑是 Vue的熱更新和瀏覽器的緩存導(dǎo)致

因此我們可以想象為什么 樹(shù)是空的 我明明有數(shù)據(jù) 為什么dom上的節(jié)點(diǎn)為空

只有一種可能 數(shù)據(jù)更新 視圖沒(méi)有獲取到 那就證明Vue響應(yīng)式出錯(cuò)了

所以我發(fā)現(xiàn)我同事在數(shù)據(jù)處理上有問(wèn)題 他利用下標(biāo)去處理數(shù)組進(jìn)行循環(huán)賦值 因此讓Vue沒(méi)有劫持到

所以我換了種寫(xiě)法 用的push 因?yàn)閜ush可以做到Vue對(duì)數(shù)據(jù)更新的檢測(cè)

對(duì)于這種問(wèn)題 Vue官網(wǎng)提供的 Set方法也可以解決 不過(guò)這屬于亡羊補(bǔ)牢 根本問(wèn)題并沒(méi)有解決。

對(duì)于解決bug => 困難不在于如何去解決 而是難在去尋找問(wèn)題 排查問(wèn)題所在 排查問(wèn)題的能力是一位開(kāi)發(fā)者至關(guān)重要的手段。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • vue實(shí)現(xiàn)觸底查詢功能

    vue實(shí)現(xiàn)觸底查詢功能

    這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)觸底查詢功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • Vue中為什么不推薦用index做key詳解

    Vue中為什么不推薦用index做key詳解

    Vue中使用虛擬dom且根據(jù)diff算法進(jìn)行新舊DOM對(duì)比,從而更新真實(shí) dom,key是虛擬DOM對(duì)象的唯一標(biāo)識(shí),在diff算法中key起著極其重要的作用,下面這篇文章主要給大家介紹了關(guān)于Vue中為什么不推薦用index做key的相關(guān)資料,需要的朋友可以參考下
    2022-09-09
  • vue引入axios同源跨域問(wèn)題

    vue引入axios同源跨域問(wèn)題

    這篇文章主要介紹了vue引入axios同源跨域問(wèn)題,文章給大家提供了解決方案,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-09-09
  • Vue 實(shí)現(xiàn)登錄界面驗(yàn)證碼功能

    Vue 實(shí)現(xiàn)登錄界面驗(yàn)證碼功能

    本文通過(guò)實(shí)例代碼給大家介紹了Vue 實(shí)現(xiàn)登錄界面 驗(yàn)證碼功能,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-01-01
  • Electron+Vue3+Vite搭建桌面應(yīng)用的示例代碼

    Electron+Vue3+Vite搭建桌面應(yīng)用的示例代碼

    本文主要介紹了Electron+Vue3+Vite搭建桌面應(yīng)用的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • vue調(diào)用攝像頭進(jìn)行拍照并能保存到本地的方法

    vue調(diào)用攝像頭進(jìn)行拍照并能保存到本地的方法

    本文主要介紹了vue調(diào)用攝像頭進(jìn)行拍照并能保存到本地的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • Vue 過(guò)渡(動(dòng)畫(huà))transition組件案例詳解

    Vue 過(guò)渡(動(dòng)畫(huà))transition組件案例詳解

    這篇文章主要介紹了Vue 過(guò)渡(動(dòng)畫(huà))transition組件案例詳解,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下
    2017-01-01
  • vue直接打開(kāi)public(本地)文件下的pdf文件方式

    vue直接打開(kāi)public(本地)文件下的pdf文件方式

    這篇文章主要介紹了vue直接打開(kāi)public(本地)文件下的pdf文件方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • Vue.js仿Metronic高級(jí)表格(一)靜態(tài)設(shè)計(jì)

    Vue.js仿Metronic高級(jí)表格(一)靜態(tài)設(shè)計(jì)

    這篇文章主要為大家詳細(xì)介紹了Vue.js仿Metronic高級(jí)表格的靜態(tài)設(shè)計(jì),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • vue2更改data里的變量不生效時(shí),深層更改data里的變量問(wèn)題

    vue2更改data里的變量不生效時(shí),深層更改data里的變量問(wèn)題

    這篇文章主要介紹了vue2更改data里的變量不生效時(shí),深層更改data里的變量問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-03-03

最新評(píng)論