在Vue組件中,在mounted階段調(diào)用了一個(gè)函數(shù)去請(qǐng)求異步數(shù)據(jù),將返回結(jié)果賦給data里面的值卻失敗了,賦值完console.log()出來(lái)明明是有值的,但頁(yè)面卻沒(méi)有更新過(guò)來(lái)。我還一直以為是nuxt生命周期的原因,但明顯不是。因?yàn)檫@個(gè)問(wèn)題只有在偶爾才會(huì)出現(xiàn),并不是每次進(jìn)入頁(yè)面時(shí)渲染都會(huì)有這個(gè)問(wèn)題。
然后我就想到以前用過(guò)的this.$forceUpdate()方法,在函數(shù)中賦值完成以后,只要執(zhí)行this.$forceUpdate()去強(qiáng)制刷新數(shù)據(jù),就不會(huì)有這個(gè)問(wèn)題出現(xiàn)了,至于這個(gè)bug為什么會(huì)出現(xiàn),我還沒(méi)有想明白。
總結(jié),以后在vue中遇到賦值失敗的,盡管試試this.$forceUpdate(),有奇效~