vue中關於_ob_:observer的處理方式
關於_ob_:observer的處理
在使用this.list.push()後,會出現_ob_:oberver這樣的對象。
網上很多地方說使用這個方法:
JSON.parse(JSON.stringify(this.list))
但是很多人試瞭沒用,他們可能是這麼寫的
this.list=JSON.parse(JSON.stringify(this.list)) console.log(this.list)
但其實是這個是有用的,弄一個新變量再輸出
let nerArr = JSON.parse(JSON.stringify(this.List))
簡而言之,如果碰到這種問題,不要使用data()裡面定義的數據直接操作,要操作前,請先new一個對象
vue中[__ob__: Observer]問題
__ob__: Observer這些數據是vue這個框架對數據設置的監控器,一般都是不可枚舉的。
我就遇到瞭這種,在created中已經賦值瞭,但在mounted中又沒有,或者有取不到值,如下圖
收瞭很多,有的說用JSON.parse(JSON.stringify(數組))再進行賦值但沒有用後面看來很多終於解決瞭
因為vue取值的方式是Ajax異步的,我們還沒取到值就開始用瞭,直接使用一個定時器就可以解決
mounted() { setTimeout(()=>{ //這裡就寫你要執行的語句即可,先讓數據庫的數據加載進去數組中你在從數組中取值就好瞭 },800) }
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。
推薦閱讀:
- VUE生命周期全面系統詳解
- Vue中created和mounted使用場景分析
- JSON.stringify的多種用法總結
- Vue生命周期和鉤子函數的詳解與經典面試題
- JavaScript JSON.stringify()的使用總結