【发布时间】:2020-10-05 02:01:29
【问题描述】:
我正在尝试获取 API 及其工作,但是当我尝试使用方法“.pop()”或“.slice(0,4)" 它显示:Uncaught (in promise) TypeError: data.body.data.pop is not a function
这是codesandox上代码的链接https://d8i7m.csb.app/
我正在使用 vue 和 vue-resource 制作
<template>
<div class="hello">
<ol>
<li v-for="blog in blogs" :key="blog.id">{{ blog }}</li>
</ol>
</div>
</template>
<script>
export default {
name: "HelloWorld",
props: {
msg: String,
},
data() {
return {
blogs: [],
};
},
created() {
this.$http
.get("https://covidnigeria.herokuapp.com/api")
.then(function (data) {
this.blogs = data.body.data;
console.log(data.body.data);
});
},
};
</script>
这是我的作品图片
我想删除第 6 个数组,只显示 1-5
不熟悉在应用程序中使用 API。
【问题讨论】:
-
我已经发布了同样的问题,但没有答案就关闭了。估计前面的不是很清楚。我试图尽可能地清楚这一点。
-
你试过
console.log(data)吗?似乎没有名为body的属性。试试data.states.pop()。 -
在我看来,您应该在为
this.blogs赋值后尝试console.log(typeof this.blogs);。我相信它不是一个数组。 -
如果你打算删除'data'中的最后一项'states',试试这个 - this.blogs.states = this.blogs.states.slice(0, 4);
-
对不起,这不是一个数组,而是一个 json 对象。 @phil 回答了我的问题。
标签: javascript arrays vue.js