几百块钱建网站,襄阳市做网站,廊坊网络推广,盐城网站定制场景#xff1a;组件提供的emit事件可能被占用#xff0c;在不能使用事件提交的情况下#xff0c;就要上watch数组监听了#xff0c;但是是发现只有在数组的长度发生变化的时候才会触发监听#xff0c;这怎么行。。。。。 对于对象数组的深度监听#xff0c;如果没有正确…场景组件提供的emit事件可能被占用在不能使用事件提交的情况下就要上watch数组监听了但是是发现只有在数组的长度发生变化的时候才会触发监听这怎么行。。。。。 对于对象数组的深度监听如果没有正确设置watch的deep选项Vue默认只会进行浅层监听。浅层监听只会在数组的引用例如数组被重新赋值为一个新的数组发生变化时触发而对于数组内部对象的属性变化不会触发。
如果要监听对象数组内部对象属性的变化可以添加deep选项
javascript复制代码
watch([selectOptions], ([newSelectOptions]) {console.log(newSelectOptions,sdfsdfsdf);emit(update:selectOptions, newSelectOptions);
}, { deep: true });
需要注意的是使用deep选项可能会带来一些性能开销因为它会递归地检查对象的每个属性。如果可能的话可以考虑使用计算属性或者手动比较新旧值来优化性能。