uniapp小程序开发中页面子组件强制刷新
小程序点击顶部返回上一页不会触发页面更新,也不会触发当前页面的的watch和computed,导致子组件里的内容无法更新。
解决方法:
- 重写当前页面的导航栏,设置navigationStyle:“custom”,点击返回上一页 为reLaunch(){}
- 在上一页给component设置v-if,onShow()生命周期里面强制重新渲染子组件
<Component v-if="hackReset"/>
data() { return { hackReset:true, } }, // onShow生命周期里强制重新渲染子组件 onShow(){ // 强制刷新子组件 this.hackReset = false; this.$nextTick(() => { this.hackReset = true; }) }