vue中使用vue-resourse把json数据渲染出来时报错

纸包包 2019-05-18 01:23:55

 <ul v-for="book in lists" :key="book.id">
<li>{{book.title}}</li>
<li>{{book.author}}</li>
</ul>




<script>
export default {
data () {
return {
carouselImg1,//轮播图片1
carouselImg2,//轮播图片2
carouselImg3,//轮播图片3
active1: 0 ,

//声明空数组,进行数据接收,最后传递到前端页面
lists:[],
}
},
mounted:function(){
this.getbooks();
},
methods: {
getbooks:function () {
var that = this;
//读取json数据
this.$http.get("http://localhost:8080/static/books.json").then(function(res){
console.log(res);
//获取全部数据
var selData = res.body.books[i];
//获取部分数据
var part = res.body.books[i].id;
//渲染数据
that.lists.push(selData);

})
}
}

};
</script>


{
"books":[
{
"id":"0",
"title":"a",
"author":"aa"
},
{
"id":"1",
"title":"b",
"author":"bb"
}
]
}


Json数据可以读取出来


但是报了以下错误,数据无法成功在页面中渲染
Uncaught (in promise) TypeError: Cannot read property 'books' of undefined
at eval (home.vue?250d:95)



请各位大神看下是什么原因导致的呢?
...全文
247 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
纸包包 2019-05-18
  • 打赏
  • 举报
回复
引用 1 楼 囧 的回复:
res.body.books 改成 res.data.books
修改后把2个点渲染出来了,但是还是没有数据 控制台里也成功读取到数据了
2019-05-18
  • 打赏
  • 举报
回复
res.body.books 改成 res.data.books

87,904

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧