vue,后台请求时因为时间差出现的bug

原因:网络请求需要时间,因为没有找到渲染值,会先出现bug:出现xxx is undefined;但是不影响样式和执行
是因为:但是网络请求回来之后会自动渲染的bug,检查中会有错误;

解决方案,用v-if判断

思路: 先将渲染的标签或者模板设置为false,使渲染的元素不显示;
然后在网络请求结束的最后将渲染的元素模块设置为true,就不会出现这个问题了(以后会常用)

如:

页面中
<ul v-if="isA">//这里判断,渲染模块
        <li :key="i" v-for="(v,i) in arrObj">{{v.type}}</li>
    </ul>

js中

数据源中设置一个变量为:

data:{

 isA:false,

}


然后网址请求之后
      this.$http({
        url: `https://########`,
      }).then((res) => {
        console.log(res);
        this.codeImg = res.data.code; //储存数据源中
        一系列执行完成之后设置变量为true
        this.isA=true;元素标签完成渲染
      });
    },

上一篇:化解日常Bug的50个大法(覆盖数据库、代码层面、缓存)


下一篇:前端调试技巧