关于vue组件传值的问题

在父组件传值给自组件的时候 子组件报错 说找不到数据 百度了一下 好像是说 页面渲染的时候会先在data里面拿值 拿不到值就报错了 然后请求的数据回来了 又通过父组件传到子组件了 所以页面显示正常 这个报错要怎么解决呢

可以参考一下

要不,你还是贴下报错日志比较合适

看一下代码吧

有可能你用到的数据是异步得到的数据,这个时候就有可能在渲染的时候拿不到数据导致报错。可以用下面的几种方法:

  1. 加个v-if 在渲染前,等数据得到后再渲染。
  2. 在渲染前取数据,例如生命周期函数created中获取数据。
  1. 在子组件对传入变量做监听,判断变量是你需要的值,才做组件接下来的处理,如果没有值,就不处理。这个是异步数据导致的;
  2. 处理方法是在异步数据成功后再加载组件,这个时候就能保证组件正常加载,而不是由于数据导致的报错!

基于问题,给予建议

  1. 父传子有props属性传值的方式 首先确保子组件上已经添加了props从父级接受的类型以及默认值
  2. 知晓父 子之间生命周期的执行过程,beforeCreate(父) =》 create(父)=》beforeCreate(子)=》create(子)=》mounted(子)=》父(mounted),知道执行周期,就知道ajax请求数据要放在什么位置做,子级才能确保数据能接收到
  3. 如果是接受对象性数组 在传值的时候可以做判空处理 然后再传值 确保 ajax之后完成data里面数据的 监听完成

祝好 如有帮助 望点赞采纳