今天在写项目的时候遇到的一个报错,一时间没反应过来,想了好一会,记录一下,也顺便复习
就是这个错误:
我的代码比较多,所以我把主要部分重写了一份:
想实现的需求很简单,把后端的轮播图接口里面的图片渲染出来
然后就报了这个错;
分析:在页面渲染的时候还没有获取到后端发过来的数据,这个时候bannerList.data就为undefined,那访问bannerList.data的result就会报错,我的后端接口如下:
这是对象的基本知识,举个例子:
解决方法:
可以使用ES6的?.操作符,简单介绍一下:?. 允许读取位于连接对象链深处的属性的值,而不必明确验证链中的每个引用是否有效;就是在引用为null和undefined的时候,会短路运算返回undefined,所以在访问可能不存在的对象,可以用可选链字符串?.来访问,这样就不会报错了
修改前面的案例:
分享结束~