Angular 5 Contentful API 在控制台中但不是视图
Angular 5 Contentful API in console but not view
我正在尝试为我的作品集制作一个简单的 Contentful API。我正在使用 Angular 5,Contentful 和 Firebase。我知道我正在成功检索数据,因为我可以在控制台中看到它,但是,当我尝试异步输入时,我的视图没有得到它。
我的服务方式:
我的组件使用方法:
控制台中的数据:
我认为的数据(未显示):
我认为我没有正确履行承诺(我对 Angular 还很陌生)。最糟糕的是,我没有收到任何错误,所以我不确定要调试什么!
有什么建议吗?
您需要对 promise
做一点小改动,以便 entries
可以被后续的承诺捕获。确保你 return entries
从你的 then()
:
getProjects() {
const promise = this.client.getEntries({
'content-type': 'project'
})
.then(function(entries) {
entries.items.forEach(function(entry) {
console.log(entry);
});
return entries; // make sure you return entries
});
return Observable.fromPromise(promise);
}
此外,在您的模板中,您似乎正在尝试迭代 projects
而不是 projects.items
。此修复需要对您的模板进行少量修改:
<div *ngFor="let project of projects.items">
{{ project | json }}
</div>
我正在尝试为我的作品集制作一个简单的 Contentful API。我正在使用 Angular 5,Contentful 和 Firebase。我知道我正在成功检索数据,因为我可以在控制台中看到它,但是,当我尝试异步输入时,我的视图没有得到它。
我的服务方式:
我的组件使用方法:
控制台中的数据:
我认为的数据(未显示):
我认为我没有正确履行承诺(我对 Angular 还很陌生)。最糟糕的是,我没有收到任何错误,所以我不确定要调试什么!
有什么建议吗?
您需要对 promise
做一点小改动,以便 entries
可以被后续的承诺捕获。确保你 return entries
从你的 then()
:
getProjects() {
const promise = this.client.getEntries({
'content-type': 'project'
})
.then(function(entries) {
entries.items.forEach(function(entry) {
console.log(entry);
});
return entries; // make sure you return entries
});
return Observable.fromPromise(promise);
}
此外,在您的模板中,您似乎正在尝试迭代 projects
而不是 projects.items
。此修复需要对您的模板进行少量修改:
<div *ngFor="let project of projects.items">
{{ project | json }}
</div>