vue 强制组件重新渲染(重置)的两种方案
更新时间:2019年10月29日 09:14:44 作者:hmily43
今天小编就为大家分享一篇vue 强制组件重新渲染(重置)的两种方案,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
数据通过异步操作后,对之前刚加载的数据进行变更后,发现数据不能生效
方案一
当数据变更后,通过watch 监听,先去销毁当前的组件,然后再重现渲染。使用 v-if 可以解决这个问题
<template>
<third-comp v-if="reFresh"/>
</template>
<script>
export default{
data(){
return {
reFresh:true,
menuTree:[]
}
},
watch:{
menuTree(){
this.reFresh= false
this.$nextTick(()=>{
this.reFresh = true
})
}
}
}
</script>
这种方式虽然可以实现,太不优雅
方案二
通过vue key 实现,原理官方文档。所以当key 值变更时,会自动的重新渲染。
<template>
<third-comp :key="menuKey"/>
</template>
<script>
export default{
data(){
return {
menuKey:1
}
},
watch:{
menuTree(){
++this.menuKey
}
}
}
</script>
以上这篇vue 强制组件重新渲染(重置)的两种方案就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Vue项目开发实现父组件与子组件数据间的双向绑定原理及适用场景
在 Vue.js 中,实现父组件与子组件数据之间的双向绑定,可以通过以下几种方式,下面我将介绍几种常见的方法,并解释它们的实现原理和适用场景,感兴趣的朋友跟随小编一起看看吧2024-12-12
vue报错Failed to execute 'appendChild&apos
这篇文章主要为大家介绍了vue报错Failed to execute 'appendChild' on 'Node'解决方法详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2022-11-11
vue中使用echarts绘制双Y轴图表时刻度没有对齐的两种解决方法(最新方案)
这篇文章主要介绍了vue中使用echarts绘制双Y轴图表时,刻度没有对齐的两种解决方法,主要原因是因为刻度在显示时,分割段数不一样,导致左右的刻度线不一致,不能重合在一起,下面给大家分享解决方法,需要的朋友可以参考下2024-03-03


最新评论