4 回答

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超9個(gè)贊
因?yàn)?Vue 無法探測普通的新增屬性
問題在于下面這句:
this.cashData.forEach((item)=>{
item.showProInfoFlag = true;
})
因?yàn)?你在data里聲明了cashData的值 所以cashData已經(jīng)是響應(yīng)式的 this.cashData = data 這句話 vue會(huì)遞歸將數(shù)據(jù)包裝成響應(yīng)式數(shù)據(jù)
但是你這個(gè)數(shù)據(jù)之前data應(yīng)該沒有這個(gè)showProInfoFlag值 所以這里沒有監(jiān)聽到,通過item.showProInfoFlag只是單純的對(duì)象賦值
總結(jié)成下面:
this.cashData = 1
//這個(gè)可以監(jiān)聽到 因?yàn)閏ashData已經(jīng)是響應(yīng)式
this.cashData = {}
this.cashData.showProInfoFlag = 1;
//不可以監(jiān)聽到 因?yàn)関ue不知道你有showProInfoFlag 這個(gè)屬性
this.cashData = {showProInfoFlag:''}
this.cashData.showProInfoFlag = 2;
//可以監(jiān)聽到 因?yàn)関ue知道你有showProInfoFlag 這個(gè)屬性
你一調(diào)換一下位置:
data.forEach((item)=>{
item.showProInfoFlag = true;
})
this.cashData = data;
或者:
this.cashData.forEach((item)=>{
this.$set(item,'showProInfoFlag',true)
})

TA貢獻(xiàn)1966條經(jīng)驗(yàn) 獲得超4個(gè)贊

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超4個(gè)贊
添加回答
舉報(bào)