问答

接口的数据返回数据过程中,组件已经将 underfinded 数据渲染,v

作者:admin 2021-04-17 我要评论

虽然后面拿到数据后组件成功更新,但 vue 还是报错了 我尝试了两种方法 失败的方法: div v-if="check" !-- 这里的 check 会检查 data() 中的数据有没有赋值--!-...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

image.png
image.png
虽然后面拿到数据后组件成功更新,但 vue 还是报错了
我尝试了两种方法
失败的方法:

<div v-if="check"> <!-- 这里的 check 会检查 data() 中的数据有没有赋值-->
<!-- 拿到数据后会将数值赋给 data() -->

成功的方法:

created() {
    axios.get('...').then(res => {
      ....
      this.check = true; // 在 data() 中设置一个检查,加载完数据后再翻转
    }).catch(err => { console.log(err); });
}

两种方法我觉得应该都能成功才对,如果拿不到数据 v-if = "check" 应该也能够检查,阻止元素/组件的渲染,但 vue 竟然报错了

###

提前声明一下就好了
https://cn.vuejs.org/v2/guide...
如果是嵌套的数据

...
data: () => ({
    item: {
        title: null,
        info: {}
    }
})
...

这样在初始渲染的时候 读取 item.info.img 就不会报错了。

###

也可以使用这种,默认情况返回为空:
item && item.info && item.info.img || ''

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • nginx响应速度很慢

    nginx响应速度很慢

  • 点击选中的多选框,会在已选那一栏显示

    点击选中的多选框,会在已选那一栏显示

  • PHP 多态的理解

    PHP 多态的理解

  • 关于C语言中static的问题

    关于C语言中static的问题

腾讯云代理商
海外云服务器