场景描述
对父组件传进来的数组进行监听,发现数组的数值改变了,但是watch却没有监听到,代码如下:
export default {
...
props: {
reportTypeList: {
type: Array,
default() {
return []
}
}
},
watch: {
reportTypeList(newValue){
// 对新数据做处理
this.allData = _.clone(newData);
this.allData.sort(util.compare('report_type', 'ascending'));
}
}
...
}
解决方法
开启 deep 属性,对数组进行 深层watch,代码如下:
watch: {
reportTypeList: {
handler(newData){
this.allData = _.clone(newData);
this.allData.sort(util.compare('report_type', 'ascending'));
},
immediate: true,
deep: true
}
},
本文介绍了一个Vue中常见的问题——监听父组件传递过来的数组变化。通过一个具体示例,展示了如何使用watch监听数组的变化,并解释了如何启用deep属性来实现深层次的监听。
3864

被折叠的 条评论
为什么被折叠?



