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。

推薦閱讀: