vue父组件异步请求获取数据传递给子组件,子组件能获取并渲染数据
2018-10-20 本文已影响0人
明明明明如月
本文转载自https://segmentfault.com/q/1010000013345427/a-1020000013352008感谢作者的提问解答解决我的困惑,因本人在项目中也遇到过同样的问题
请教,父组件ajax异步请求获取数据
然后传递给子组件
子组件在页面中渲染使用了父组件传过来的data对象中的img属性
子组件能获取到数据并渲染数据到页面,但是会报错,怎么解决呢。
代码:
![](https://img.haomeiwen.com/i14420088/3853ce0e0d2b334b.png)
![](https://img.haomeiwen.com/i14420088/b6bb8cab68367900.png)
![](https://img.haomeiwen.com/i14420088/20410029467912d8.png)
页面会报错说找不到avatar属性,报错如下,但是页面上又能渲染出图片,我猜想可能是页面在渲染子组件的时候 ajax还没有返回对象,但是子组件已经渲染过去了所以报错,接着ajax对象拿到数据在传到子组件,子组件在更新所以拿到了图片,请教大佬,是这样吗?或者说怎样处理呢。
![](https://img.haomeiwen.com/i14420088/1269243021ee9159.png)
解决办法2:.对父组件加了一个 v-if,也就是判断数据是否为空,为空就不渲染,也能解决了