我正在使用带有元素UI 的Vue.js。我必须填写表格,但我遇到了以下错误:
预期数组,得到了对象。
我知道'get'调用返回一个Promise对象。我试图打印出那个对象,看看如何到达阵列。它在[[PromiseValue]]里面,我不知道如何访问它。我在这篇文章中看到了答案:What does [[PromiseValue]] mean in javascript console and how to do I get it。但是我以这种方式访问它似乎不对,因为它是一个私有财产。所以我正在寻找一个标准的解决方案。这是我与vue.js的第一个项目。之前我使用过Angular 2-4,我只需要做response.json()._embedded.customers
接听电话:
this.$http.get('http://localhost:8080/customers')
.then(response => {
// JSON responses are automatically parsed.
this.customersArray = response.json();
console.log(response.json());
})
.catch(function(err) {
return {
name: 'default user'
};
})
简而言之,我需要 _embedded 下的客户数组。 对于crud,正在使用vue资源。
编辑:我甚至试图解决它,如下所示,但我得到的结果与屏幕截图相同:
var promise1 = new Promise((resolve, reject) => {
Vue.http.get('http://localhost:8080/customers').then((response) => {
resolve(response.json());
}, (response) => {
reject(response.status)
})
});
console.log(promise1);
感谢您的时间。
答案 0 :(得分:0)
我必须阅读响应的正文才能访问我需要的对象。我已通过以下方式解决了这个问题:
this.$http.get('http://localhost:8080/customers')
.then(response => {
// JSON responses are automatically parsed.
this.customersArray = response.body._embedded.customers;
})
.catch(function(err) {
return {
name: 'default user'
};
})
我不知道为什么在检查员身上没有任何部分“身体”,我通常会通过打印整个物体然后按照检查员的路径来达到目的。但无论如何。 =)
编辑:我不能接受我自己的回答2天,抱歉给您带来不便。