父组件传参,一般分为两种情况:
1、父组在data中定义的数据直接传给子组件使用,子组件在生命周期中是可以获取并使用的。
2、父组件传给子组件的参数,是从接口中获取到的, 可能遇到的问题就是,如果在组件的created生命周期中获取到参数并进行新数据的获取并进行页面渲染,但此时父组件请求的数据可能还没有完全返回,子组件就开始使用此数据,该数据自然不存在,打印在控制台中的父组件穿给子组件的参数为undefined,因此就会出现父组件传参不及时,子组件使用数据较早,造成数据无法使用。
解决改问题的方法:
- 在子组件的created生命周期中使用setTimeout定时器,来延缓执行生命周期中的函数 (此方法不推荐)
- 使用vue的监听方法,监听父组件的传参,一旦侦听到数据返回,便立即调用子组件的方法进行数据获取,相对于第一种方法,更加灵活和快速。