uniapp 强制刷新DOM/强制更新指令:this.$forceUpdate();
生活随笔
收集整理的這篇文章主要介紹了
uniapp 强制刷新DOM/强制更新指令:this.$forceUpdate();
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
前言
略
數(shù)組和對(duì)象更改后視圖不刷新
當(dāng)遇期望DOM一刷新,但其卻未刷新怎么辦?
比如:在uniapp刷新DOM過程中,你修改了data中的屬性。此時(shí)uniapp無法感知到屬性已經(jīng)發(fā)生變化了,因此,期待的DOM刷新未發(fā)生。
我的數(shù)據(jù)是:
return {list: [{id: 1, ..., height:1},{id: 2, ..., height:1},], }當(dāng)我更新height時(shí),期望的DOM刷新未發(fā)生。
想知道為什么的,參考這里:Vue中數(shù)組和對(duì)象更改后視圖不刷新的問題
或者通過總結(jié)了解一下:數(shù)據(jù)的改變必須能夠觸發(fā)set方法,否則無法響應(yīng)數(shù)據(jù)變化。
解決辦法1:this.$forceUpdate();
/*修改屬性*/ this.list[0].height = 100; /*緊接著跟一條強(qiáng)制更新指令*/ this.$forceUpdate();解決辦法2:
/*修改屬性*/ this.list[0].height = 100; /*緊接著,通過重新賦值屬性,觸發(fā)該屬性的setter方法*/ this.list= Object.assign({}, this.list);總結(jié)
以上是生活随笔為你收集整理的uniapp 强制刷新DOM/强制更新指令:this.$forceUpdate();的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 慢性牙周炎不治疗会怎么样
- 下一篇: 慢性根尖牙周炎治疗要多久