vue中__ob__:?Observer的踩坑記錄
vue中__ob__: Observer踩坑
問(wèn)題分析
看這個(gè)問(wèn)題的朋友先看看情況是不是和我一樣,再往下看
我的問(wèn)題是一個(gè)對(duì)象數(shù)組,push進(jìn)去對(duì)象的話,打印出來(lái)看,顯示的是 [ob: Observer],點(diǎn)看能看到里面的數(shù)據(jù),但是我遍歷他的話一個(gè)值也拿不到,拿到的是空值,如果push的普通的數(shù)字,字符串啥的就沒事。
如果問(wèn)題一樣的話可以繼續(xù)往下看了。
經(jīng)過(guò)半天的各種分析,網(wǎng)上看博客,然后自己也嘗試了在不同位置打console.log和斷點(diǎn)查看,
發(fā)現(xiàn)在給對(duì)象數(shù)組中push進(jìn)去數(shù)據(jù)的時(shí)候,打印出來(lái)就是完美的對(duì)象數(shù)組,可以遍歷,但是我要用的時(shí)候的那個(gè)地方打印出來(lái)就是這樣的 [ob: Observer],而且他的console比push數(shù)據(jù)的地方打印出來(lái)的快,提前打印了,說(shuō)明了現(xiàn)在是異步操作,我要用的地方數(shù)據(jù)提前打印了。
解決問(wèn)題
開始我用了async await 來(lái)阻塞它,但是沒啥用,最后沒辦法,只能用監(jiān)聽了

在監(jiān)聽這里不停的操作他,最后才解決了問(wèn)題
一些小坑
JS中include不能查看對(duì)象是否重復(fù)

我操作的話是把對(duì)象JSON.stringify成字符串,存的時(shí)候也是按照這樣存,查的時(shí)候也這樣查,用的時(shí)候使用數(shù)組的map方法修改他的值,更改之后使用。

vue中__ob__: Observer屬性對(duì)象
__ob__: Observer是什么?
_ob__: Observer這些數(shù)據(jù)是vue這個(gè)框架對(duì)數(shù)據(jù)設(shè)置的監(jiān)控器,一般都是不可枚舉的。
1.vue中為什么[__ob__: Observer]下無(wú)法取到數(shù)據(jù)或者取數(shù)據(jù)時(shí)出現(xiàn)慢一步的情況
_ob__: Observer表示很無(wú)辜。一般情況時(shí)數(shù)據(jù)本身的問(wèn)題,考慮賦值是否時(shí)異步了或者慢于監(jiān)聽器。這一點(diǎn)需要注意。
2._ob__: Observer的取用方式
- 第一種:Object.assign({},this.owner)
- 第二種:JSON.parse(JSON.stringify(this.list))
3.[ob: Observer]: 可視察數(shù)組,不能通過(guò)tableData === []這樣判斷是否為空,需要使用數(shù)組的長(zhǎng)度判斷才有效:tableData.length > 0
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- Vue之Dep和Observer的用法及說(shuō)明
- vue3?圖片懶加載的兩種方式、IntersectionObserver和useIntersectionObserver實(shí)例詳解
- 關(guān)于Vue?"__ob__:Observer"屬性的解決方案詳析
- Vue2?Observer實(shí)例dep和閉包中dep區(qū)別詳解
- vue中關(guān)于_ob_:observer的處理方式
- Vue數(shù)組中出現(xiàn)__ob__:Observer無(wú)法取值問(wèn)題的解決方法
- Vue響應(yīng)式原理Observer、Dep、Watcher理解
- vue中{__ob__: observer}對(duì)象轉(zhuǎn)化為數(shù)組進(jìn)行遍歷方式
相關(guān)文章
vue框架編輯接口頁(yè)面下拉級(jí)聯(lián)選擇并綁定接口所屬模塊
這篇文章主要為大家介紹了vue框架編輯接口頁(yè)面實(shí)現(xiàn)下拉級(jí)聯(lián)選擇以及綁定接口所屬模塊,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05
使用live-server快速搭建本地服務(wù)器+自動(dòng)刷新的方法
下面小編就為大家分享一篇使用live-server快速搭建本地服務(wù)器+自動(dòng)刷新的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-03-03
vue相同路由跳轉(zhuǎn)強(qiáng)制刷新該路由組件操作
這篇文章主要介紹了vue相同路由跳轉(zhuǎn)強(qiáng)制刷新該路由組件操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-08-08
多個(gè)vue項(xiàng)目實(shí)現(xiàn)共用一個(gè)node-modules文件夾
這篇文章主要介紹了多個(gè)vue項(xiàng)目實(shí)現(xiàn)共用一個(gè)node-modules文件夾,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-09-09
Vue.js3.2的vnode部分優(yōu)化升級(jí)使用示例詳解
這篇文章主要為大家介紹了Vue.js3.2的vnode部分優(yōu)化升級(jí)使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07
vue?頁(yè)面卡死,點(diǎn)擊無(wú)反應(yīng)的問(wèn)題及解決
這篇文章主要介紹了vue?頁(yè)面卡死,點(diǎn)擊無(wú)反應(yīng)的問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-10-10

