当项目中存在多层组件相互嵌套 组件存在严重缓存时
this.$nextTick(() => {
.....
});
不管用
this.$forceUpdate();
不管用
只能通过深拷贝浅拷贝数据源原理 上来操作
this.tableData = JSON.parse(JSON.stringify(this.tableData))
问题解决
出现此问题的很大原因 是因为跨组件传输复杂数据的时候 数据没有经过"深拷贝 ",数据还存在内存指向的依赖问题,在父级传入子级的时候 深拷贝一次就能解决问题
建议全局引用lodash 插件库,也就不用人为JSON.parse(JSON.stringify(this.tableData)) 去频繁操作了
某些跨组件层级的数据源 在引用和赋值的时候 要注意神拷贝和浅拷贝的关系 深拷贝去取数据或者赋值 能避免很多组件缓存问题