1.props很简单,是子组件用来接收父组件的值的
2.watch,也很简单,是vue的监听属性,用来监听值的变化
3.但是我将两者联合起来用的时候发现watch,监听不到props的值的变化
最后猜测是否是因为props的传值有问题,经过测试,传的值是没有问题的,在页面使用{{}}是能够直接显示出来数据是没有问题的
既然数据没有问题,那么就是watch的问题了
问题在于props接收的数据类型是Object,那么我改变watch的写法,
watch: {
'QMData.src': function(newval, oldval) {
switch (this.QMData.type) {
case 'jcrqz':
this.jcrQm = newval;
break;
case 'xcrqz':
this.xcrQm = newval;
break;
case 'yzqz':
this.yzQm = newval;
break;
}
},
},
监听对象中的单个属性的变化,结果监听成功,有效果了
猜测问题所在,当watch监听值为对象的时候,可能只能监听到属性名的变化,监听不到值的变化,仅为猜测,如有知道具体问题的可以评论回复一下,谢谢