网站语言那种好巨量引擎广告投放平台代理
场景:组件提供的emit事件可能被占用,在不能使用事件提交的情况下,就要上watch数组监听了,但是是发现只有在数组的长度发生变化的时候才会触发监听,这怎么行。。。。。
对于对象数组的深度监听,如果没有正确设置watch
的deep
选项,Vue默认只会进行浅层监听。浅层监听只会在数组的引用(例如,数组被重新赋值为一个新的数组)发生变化时触发,而对于数组内部对象的属性变化不会触发。
- 如果要监听对象数组内部对象属性的变化,可以添加
deep
选项:
javascript复制代码
watch([selectOptions], ([newSelectOptions]) => {console.log(newSelectOptions,'sdfsdfsdf');emit('update:selectOptions', newSelectOptions);
}, { deep: true });
- 需要注意的是,使用
deep
选项可能会带来一些性能开销,因为它会递归地检查对象的每个属性。如果可能的话,可以考虑使用计算属性或者手动比较新旧值来优化性能。