js css htmlvuevue

this.$forceUpdate

2022-07-09  本文已影响0人  扶得一人醉如苏沐晨


vue强制更新this.$forceUpdate()

调用强制更新方法this.$forceUpdate()会更新视图和数据,强制触发vue的update方法。

对于深结构数据,比如,修改数组的长度为0 arr.length=0; 给对象添加新的属性 obj.newAttrbute=‘value’;等等。这样写是没有效果的,页面上的数据并不会同步更新,因为没有按照vue的规范去写,对于深层数据,需要使用$set方法,手动给数据绑定get set方法,实现数据的。

当我们不想使用set方法,直接给对象添加属性或者修改数组的长度就可以使用$forceUpdate方法,实现强制更新,迫使vue实例重新渲染,它仅仅是影响实例本身和插在插槽内容的子组件,而不是所有的子组件。

以下数组操作方法可触发渲染

push()

pop()

shift()

unshift()

splice()

sort()

reverse()

当采用特殊方法操作数组后,导致无法更新数据到UI,此时可使用强制渲染this.$forceUpdate()


上一篇下一篇

猜你喜欢

热点阅读