解决vue.js 数据渲染成功仍报错的问题


Posted in Javascript onAugust 25, 2018

最近在做一个vue项目,用的是官方推荐的axios请求数据,数据结构是一级对象嵌套二级对象,发现一级对象数据渲染不报错,二级数据渲染报错。很是郁闷!data函数如下

export default {
  name: 'hello',
  data() {
   return {
    card:{} 

   }
  }
  }

返回的数据如下:

{
 "object":{
  "subObject":"123",
  ...
 }
}

报错的原因是在data函数return的card里没有二级对象.所以会报错;

解决办法是:

export default {
  name: 'detail',
  data() {
   return {
    loading: false,
    card:{},
   }
  },
  created() {
   this.fetchData();
  },
   methods: {
   fetchData() {
   this.loading = true;
   let that=this;
    this.ajax.get(url, { params: { id: "yourId" } })
     .then(function (response) {
      that.loading = false;
     }, function (error) {
      console.log(error);
     })

   }
  }

然后在html中加上下面这句:

<template>
 <div v-if="!loading">
 <!----你的html代码------>
 </div>
</template>

然后就不会报错了!希望对你有帮助!~溜了~~~

拓展知识:解决Vue组件页面渲染正常对象报错undefined的问题

首先,页面代码:{{options.fileList[0].fullPath}},

渲染结果:解决vue.js 数据渲染成功仍报错的问题(渲染成功),

但是控制台依然报错:解决vue.js 数据渲染成功仍报错的问题

如果有跟我遇到同样问题的朋友一定跟我一样,心里一万只草泥马飘过,都显示正常了,你TM的还给我报错,这我就忍不了了,首先我在页面节点上直接打印,OK,没有问题,能完美的打印出来,然后换了个思路,在mounted里面看看什么情况呢,功夫不负有心人,解决vue.js 数据渲染成功仍报错的问题 ,mounted里面打印出来是个空的数组,那么我应该就知道什么问题了,应该是页面加载的时候,数据还没有传过来,但是这时候我们已经开始在使用了,所以会报undefined的错误,当数据的值传过来的时候,页面找到这个数据,并渲染上去,所以我看到的页面又是正常了,所以这样的问题应该怎么解决呢?

答案也很简单,在你渲染的节点加个判断就好了, 解决vue.js 数据渲染成功仍报错的问题 ,这样的话当发现它为undefined的时候就不会去读取数据,等有数据的时候再去读取,这样的话,就不会出现undefined的错误了。

以上这篇解决vue.js 数据渲染成功仍报错的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Locate a File Using a File Open Dialog Box
Jun 18 Javascript
浅析offsetLeft,Left,clientLeft之间的区别
Nov 30 Javascript
js根据日期判断星座的示例代码
Jan 23 Javascript
javascript实现的一个随机点名功能
Aug 26 Javascript
javascript实现类似超链接的效果
Dec 26 Javascript
JavaScript制作简单的日历效果
Mar 10 Javascript
解决同一页面中两个iframe互相调用jquery,js函数的方法
Dec 12 Javascript
vue2.0移除或更改的一些东西(移除index key)
Aug 28 Javascript
Vue列表渲染的示例代码
Nov 01 Javascript
JS中创建自定义类型的常用模式总结【工厂模式,构造函数模式,原型模式,动态原型模式等】
Jan 19 Javascript
vscode 配置vue+vetur+eslint+prettier自动格式化功能
Mar 23 Javascript
WebWorker 封装 JavaScript 沙箱详情
Nov 02 Javascript
解决Vue.js由于延时显示了{{message}}引用界面的问题
Aug 25 #Javascript
vue中各选项及钩子函数执行顺序详解
Aug 25 #Javascript
vue实现在一个方法执行完后执行另一个方法的示例
Aug 25 #Javascript
JS Object.preventExtensions(),Object.seal()与Object.freeze()用法实例分析
Aug 25 #Javascript
对Vue beforeRouteEnter 的next执行时机详解
Aug 25 #Javascript
vue 监听键盘回车事件详解 @keyup.enter || @keyup.enter.native
Aug 25 #Javascript
Vue中div contenteditable 的光标定位方法
Aug 25 #Javascript
You might like
PHP面向对象编程快速入门
2006/10/09 PHP
php数组函数序列之array_flip() 将数组键名与值对调
2011/11/07 PHP
ThinkPHP之foreach标签使用概述
2014/06/30 PHP
php微信公众平台配置接口开发程序
2016/09/22 PHP
php使用curl伪造浏览器访问操作示例
2019/09/30 PHP
基于逻辑运算的简单权限系统(实现) JS 版
2007/03/24 Javascript
关于js类的定义
2011/06/28 Javascript
jquery中$(#form :input)与$(#form input)的区别
2014/08/18 Javascript
jQuery解决$符号命名冲突
2016/06/18 Javascript
vue2 前后端分离项目ajax跨域session问题解决方法
2017/04/27 Javascript
jQuery列表检索功能实现代码
2017/07/17 jQuery
vue2.0 下拉框默认标题设置方法
2018/08/22 Javascript
代码整洁之道(重构)
2018/10/25 Javascript
详解JS实现简单的时分秒倒计时代码
2019/04/25 Javascript
Vue Router中应用中间件的方法
2020/08/06 Javascript
基于vue中的scoped坑点解说
2020/09/04 Javascript
openlayers实现地图弹窗
2020/09/25 Javascript
[33:23]VG vs Pain 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
python使用pyhook监控键盘并实现切换歌曲的功能
2014/07/18 Python
Python import自定义模块方法
2015/02/12 Python
Django自定义插件实现网站登录验证码功能
2017/04/19 Python
Python中创建字典的几种方法总结(推荐)
2017/04/27 Python
python实现求两个字符串的最长公共子串方法
2018/07/20 Python
python实现换位加密算法的示例
2018/10/14 Python
pycham查看程序执行的时间方法
2018/11/29 Python
PyQt5笔记之弹出窗口大全
2019/06/20 Python
在Python中os.fork()产生子进程的例子
2019/08/08 Python
Python实现栈的方法详解【基于数组和单链表两种方法】
2020/02/22 Python
详解HTML5中rel属性的prefetch预加载功能使用
2016/05/06 HTML / CSS
What is the purpose of Void class? Void类的作用是什么?
2016/10/31 面试题
个人求职简历的自我评价范文
2013/10/09 职场文书
养殖行业的创业计划书
2014/01/05 职场文书
中青班党性分析材料
2014/02/16 职场文书
中学生学雷锋活动心得体会
2014/03/10 职场文书
银行转正自我鉴定
2014/09/29 职场文书
2014财务部年度工作总结
2014/12/08 职场文书