Vue 手动重新渲染组件(重置或者更新)
问题描述:一、当数据通过异步操作后,对之前加载的数据进行变更后,发现数据不生效。二、A组件或者B组件触发数据更新,C组件数据更新了,但是C组件仍显示上一次数据。方案一:v-if(可以重置生命周期)需要重新渲染的组件改变数据状态的组件,我在vuex种改变了type状态(这个type可以在你需要触发的位置改变)方案二 ::......
·
问题描述:一、当数据通过异步操作后,对之前加载的数据进行变更后,发现数据不生效。
二、A组件或者B组件,触发C组件数据更新,但是C组件仍显示原来数据。
三、路由不变的情况下,只改变了路由参数时,页面不更新
方案一:v-if(可以重置生命周期)(看情况使用)
需要重新渲染的组件
改变数据状态的组件,我在vuex种改变了type状态(这个type可以在你需要触发的位置改变)
方案二 ::key=‘’(此处可触发watch和update)(最优方法)
需要重新渲染的组件
改变数据状态的组件
方案三:this.$forceUpdate(不太常用,个人觉得性能不太好,也可能我用的不太对,希望大神们指教)
使用前需要在配置中启用
import Vue from 'vue'
Vue.forceUpdate()
这个方法可以使当前组件调用这个方法时,重新渲染组件。
方案四:刷新整个页面(最不推荐)
1、reload 2、this.$router.go(0)
希望这篇文章可以帮到大家,有问题欢迎留言一起探讨!!!!
更多推荐
已为社区贡献1条内容
所有评论(0)