Angular 5 Contentful API在控制台中但不是视图

时间:2017-12-02 00:50:10

标签: angular api firebase portfolio contentful

我正在尝试为我的投资组合提供一个简单的Contentful API。我正在使用Angular 5,Contentful和Firebase。我知道我正在成功检索数据,因为我可以在控制台中看到它,但是,当我尝试异步管道时,我的视图没有得到它。

我的服务方式:

enter image description here

我的组件使用方法:

enter image description here

控制台中的数据:

enter image description here

我视图中的数据(未显示):

enter image description here

我认为我没有正确地做出承诺(我对Angular很新)。最糟糕的是,我没有收到任何错误,所以我不确定要调试什么!

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

您需要对promise进行一些小改动,以便随后的承诺可以捕获entries。确保从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>