根据 watch 监听 + cloneDeep 深拷贝解决方案

案例1:

遇到过一种情况,

父组件传递 Lists 集合,子组件能监听到父组件值的变化。

但是子集合里 也有 Lists 集合,需要将子集合里的集合也显示出来。

在子组件里当前元素循环调用孙组件值没有监听到,

在子组件里子集元素循环调用孙组件,值有变化,有监听到。


data值


data值

父组件调用:

父组件template片段


父组件methods方法
父组件methods方法

正常将 this.lists 这个集合传入子组件即可。

监听子组件变化页面可以正常显示,但是也想将 lists 里的 subs 集合也显示出来。

改变了一下子组件,建立了一个只显示当前元素的组件,就是孙组件,

如下代码:

但是正常监听发现一个问题:就是调用 孙组件,循环当前元素,这个值在孙组件没有反应,但是 // 孙组件,循环值为当前的subs集合数据 这个可以正常显示。

子组件调用:


子组件template片段

解决方案:子组件里监听值变化,单独使用了深度监听也没有效果,引用了 cloneDeep 深度拷贝集合,发现解决了这个问题

子组件script片段

孙组件调用:正常监听值即可。


孙组件template片段
孙组件script片段
孙组件script片段
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容