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