问题描述:父组件向子组件传递了一个参数,参数有效值通过接口请求动态获取,子组件可能在获取到数据之前就执行created 、 mounted 生命周期(只执行一次),props参数还没有传进来,所以只能拿到默认值,强行接收参数会出现报错(this.props.propDataKey is undefined)。我们期望的正常效果是子组件可以正常获取到父组件传递过来的参数
解决方案:子组件中为传递的参数添加watch监听,来接收参数
watch: {
propDataKey: {
handler:(newVal, oldVal) {
this.xx = newVal
},
//监听对象是数组或者对象的情况下,下面两行必须加上,否则监听不到变化
immediate: true,
deep: true
}
}