博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Vue访问加载本地Json(渲染模版数据)时遇到的坑,报undefined
阅读量:7136 次
发布时间:2019-06-28

本文共 1250 字,大约阅读时间需要 4 分钟。

Vue访问加载本地Json时,使用模版语法会遇到的小问题

这两天在公司做

通过axios获得到的json
通过axios获得到的json ?

html(部分)?

{
{res[2].name}}
{
{res[2].copies_coin}}
USDT/份
含{
{res[2].copies_amount}}YCC/份
预计年化产率{
{res[2].annual_yield}}%
预计产量
(YCC/天)
{
{res[2].basic_yield}}
+{
{res[2].presented_yield}}

Data()?

data(){        return{            datas:'',            res:'',        }    },

methods()?

getData(){    let url = 'http://192.168.33.200/pre-cloud-miner.json'    ajax(this,url,'',(response)=>{        this.datas = eval('('+response+')');        this.res = this.datas[90];        console.log(this.res[0].name)    },"GET")}

结果console.log显示A090,正确,但是却报错:

图片描述
神奇的是页面也正常渲染了:
图片描述
如果把name删掉,就会报下一个:copies_coin的错,依次类推

网上查询发现原因是获取本地json文件是异步操作,一开始res为' '空字符串,所以会报res.name为undefined。解决办法有两种:

1 . 初始定义res时,就把属性设置好,不要做空字符串或者是空对象,空数组。

res:[{},{},{}],        //因为后台返回的数据格式就是这样,这样再刷新页面就不会报错了

2 . 用v-if解决:

{
{res[2].name}}
{
{res[2].copies_coin}}
USDT/份
含{
{res[2].copies_amount}}YCC/份
预计年化产率{
{res[2].annual_yield}}%
预计产量
(YCC/天)
{
{res[2].basic_yield}}
+{
{res[2].presented_yield}}

转载地址:http://bgvrl.baihongyu.com/

你可能感兴趣的文章
【转载】MapReduce编程 Intellij Idea配置MapReduce编程环境
查看>>
安装配置管理 之 Fedora 6.0 蓝牙bluebooth传送文件的问题解决方法
查看>>
C 结构
查看>>
spring 加载不了jdbc.properties文件的数据问题
查看>>
JQuery Plugin 2 - Passing Options into Your Plugin
查看>>
长尾分布(幂律分布)
查看>>
Android提高--索引
查看>>
队列(Queue)-c实现
查看>>
DevExpress控件使用系列--ASPxGridView+Popup+Tab
查看>>
MySql5.7配置文件my.cnf设置
查看>>
set names utf8;
查看>>
异常处理
查看>>
go学习之文件读取问题(需更新)
查看>>
quartus15.1 下程程序 电脑蓝屏 解决方法
查看>>
利用c:forEach标签遍历数组
查看>>
Java集合List随堂
查看>>
HDU_1542_线段树【扫描线】
查看>>
[转]Oracle数据库ASH和AWR的简单介绍
查看>>
客户单操作Cookie
查看>>
Swift -- enum 继承 protocol
查看>>