案例1:
遇到过一种情况,
父组件传递 Lists 集合,子组件能监听到父组件值的变化。
但是子集合里 也有 Lists 集合,需要将子集合里的集合也显示出来。
在子组件里当前元素循环调用孙组件值没有监听到,
在子组件里子集元素循环调用孙组件,值有变化,有监听到。
data值
data值
父组件调用:
父组件template片段
父组件methods方法
父组件methods方法
正常将 this.lists 这个集合传入子组件即可。
监听子组件变化页面可以正常显示,但是也想将 lists 里的 subs 集合也显示出来。
改变了一下子组件,建立了一个只显示当前元素的组件,就是孙组件,
如下代码:
但是正常监听发现一个问题:就是调用 孙组件,循环当前元素,这个值在孙组件没有反应,但是 // 孙组件,循环值为当前的subs集合数据 这个可以正常显示。
子组件调用:
子组件template片段
解决方案:子组件里监听值变化,单独使用了深度监听也没有效果,引用了 cloneDeep 深度拷贝集合,发现解决了这个问题
子组件script片段
孙组件调用:正常监听值即可。
孙组件template片段
孙组件script片段
孙组件script片段