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

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

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

这两天在公司做一个H5宣传页面,内容比较简单。

首先是通过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://jkxlx.baihongyu.com/

你可能感兴趣的文章
MySQL 触发器简单实例
查看>>
Elasticsearch基本概念及核心配置文件详解
查看>>
一次使用Python连接数据库生成二维码并安装为windows服务的工作任务
查看>>
ios_基础篇1_关键字(strong和weak)
查看>>
PageControl
查看>>
我的友情链接
查看>>
远程桌面用户输入法的配置
查看>>
【Getty】Java NIO框架设计与实现
查看>>
常用监控命令工具-----vmstat
查看>>
说一下刚接触Gitlab,汉化遇到的坑。
查看>>
iCloud存储原理与部分操作
查看>>
IIS无法启动,提示“服务没有及时响应启动或控制请求”
查看>>
6.《SQLSERVER2012之T-SQL教程》T-SQL子查询
查看>>
Day1_HTML_超链接
查看>>
IT名词解释与专业术语
查看>>
经验:利用RAC环境解决本机SQLPLUS异常一例SP2-1503
查看>>
Tomcat 系统架构与设计模式,第 2 部分: 设计模式分析(《深入分析java Web》技术内幕-11)...
查看>>
谈谈如何学Linux和它在如今社会的影响
查看>>
通过yum方式在CentOS 7上部署Kippo
查看>>
风险管理、收尾管理、知识产权管理
查看>>