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>