开发项目过程中,遇到嵌套多层组件,组件封装了一层又一层,由于需求要求在不同场景组件要展示不同的内容,由此需要给组件更改配置项。在一层一层由外层组件向内层组件传参时,由于嵌套层级过多,底层组件没有响应式的更新试图,有以下几种方法可以尝试:
1.如果你传递参数是对象的某个属性或者是数组的长度更改之类的引起视图不刷新
使用vue的$set方法。可以使用 Vue.set(object, propertyName, value) 方法向嵌套对象添加响应式属性
2.使用this.$ref[name].forceupdate 强制刷新组件
3.也可以把你放在对象的组件单独拎出去,作为一个props传递参数
4.终极大招,使用v-if改变值动态加载组件