__ob__: observer
第一種情況
在vue的框架中對後台返回資料進行操作的時候,控制台列印陣列會出現一下情況,
[, , , , , , , __ob__: observer] 複製**
第二種情況
如果直接列印後台返回資料就是這個情況
[, , , , , , ] 複製**
在將原始資料push進vue頁面定義的陣列中就是出現第一種情況
網上查資料說這是vue的框架用於檢測資料而新增的,因為使用框架本身就是為了頁面使用資料方便,頁面的js簡單化。
vue中的__ob__是儲存observer物件的,用來記錄是否已經做過資料的「響應式化」,也就是是否已經被observer處理過,最終是為了用object.defineproperty進行資料的雙向繫結。
解決這個問題的方法就是
前端定義變數 = json.parse(json.stringify(後台資料陣列))
複製**
對於資料的操作,如果本身從後台返回的資料是沒有一些屬性的,前端需要自己新增屬性 ,那麼需要使用this.$set()方法對資料進行操作,然後在後續的操作中也要使用此方法運算元據,這樣做是為了解決頁面資料沒有因為資料修改而實時更新的問題。
此問題花費我乙個下午解決,剛開始運算元據頁面沒有更新,然後就頻繁的修該資料定義,最後排查問題出在運算元據的方法上,以後需要多多注意。
vue 非同步資料更新問題
記錄一下出現的問題,資料翻倍 這是復現問題的 data methods console.log 此時的this.allresult this allresult watch mounted 結果 此時你可以看到第二次的資料時 是 第一次的 2倍 mounted 和 watch 都執行 getmess...
vue關於資料更新的問題
關於vue資料更新的原理可以參考我的另外一篇部落格。vue不能更新檢視的原因為無法監聽到引用資料型別中屬性的增加與刪除。前提 在vue例項內建立,才具備getter setter,才能被vue更新。vue只會監聽資料的 第一層 的改變 array i 3 array.length 0 object....
vue 頁面重新整理資料丟失問題
參考 我的需求 進入 後調介面獲取使用者id,並把id存入session中。之後跳轉頁面或重新整理頁面時,直接從session中取出id,無需再調介面。main.js檔案中 import vue from vue import router from router import vuex from ...