问题描述:在vue2环境下:页面爆出标题的错误,但是页面的数据和方法正常渲染和使用,没有任何异常。

解决办法:

①定义异步请求数据的完整格式

②页面使用该数据时,使用v-if进行判断一下

问题分析:

当你的页面中渲染的时候,created的数据肯定是还没获取到的,如果你的json是只嵌套一层,因为data你已经定义好了,所以data.a不会出现data undefined的错误,只是找不到data.a的数据,当你异步请求完之后,会自动更新。但是如果你的json是嵌套两层,比如data.a.b,那么当你调用data.a.b的时候,因为data.a还没有定义,所以就会报错说Cannot read property ‘b’ of undefined。

如果你要避免这个,就在div外再嵌套一层

这样当data.a.b还没有获取获取到的时候就不会渲染,不能直接使用data.a.b”,因为这时候data.a还不存在。当created的数据获取到后会自动更新。你要记住的就是,created中异步获取的数据基本都是在页面渲染之后的,所以初始化数据的时候要加v-if。

Logo

前往低代码交流专区

更多推荐