关于视频8分48秒开始的this.option.data解析
来源:8-8 订单确认页的开发(逻辑)4
慕前端5776792
2018-04-12
视频第8分48秒开始,Rosen老师您说,因为我们在添加地址的时候因为当时还没有对option的data进行初始化,因此在这个时候访问option的data属性时会发生undefined错误。但我觉得,因为到这一步时候,表明我们已经是要编辑地址信息了,而前面的代码逻辑也已经向后端服务器成功申请到指定Id的地址信息,回传到我们的index.js里面,然后我们也已经把res传给_addressModal.show()里面的data了。再进一步,“this.option.isUpdate && this.option.data.receiverProvince” 这行判断代码中,“与”逻辑符号前面的判断都通过了,这不就表明我们的option已经被重新赋值了吗?那这样我们这个时候从this.option.data里面拿到的其实就已经是服务器端正确返回来的值了,而不会出现undefined错误了。。。
我也加断点调试过了,发现这个时候传过来的是个对象,不是undefined。。不知道我这样说清不清楚 = =
写回答
2回答
-
data是从接口的res里直接传过来的,做这个判断是防止接口里有脏数据或者返回值不对,取的时候就会报语法错误,导致后面的js都会被中断。加上个容错,接口错了也不会导致js崩溃。
012018-04-15 -
霍进
2018-04-12
考虑得是新增地址的时候,data 对象没传
162018-04-18
相似问题