0

我想要做什么:我正在尝试从我的strapi api中获取数据并显示它。

我正在使用什么:我正在使用 Angular、Strapi (v4) 和 Akita,我对这些都是全新的,我正在使用秋田实体服务。

获取数据有效,但我无法显示它。我试图显示的集合类型被调用question并具有属性name。有3个问题。

这是我的组件文件:

export class HomePage {

  public questions$: Observable<Array<Question>> | undefined;

  constructor(
    protected readonly questionsService: QuestionsService,
    protected readonly questionsQuery: QuestionsQuery,
  ) {
     this.questionsService.get()
          .subscribe(console.log); 
     this.questions$ = this.questionsQuery.selectAll();
  }
}

这是我的 html 文件。这里我想通过访问name属性来显示问题:

<ng-container *ngIf="(questions$ | async) as questions">
    <p *ngFor="let question of questions; let i = index;">
       Index: {{ i }} -
       Question: {{ question }} -
       id: {{ question.id }}
       <!--{{ question.attributes.name }} DOES NOT WORK.. Error Message: ERROR TypeError: Cannot read properties of undefined (reading 'name')-->
    </p>
</ng-container>

这就是我的问题模型的样子(我觉得这就是问题所在):

export interface Question {
   id?: number;
   attributes: {
        name: string;
   };
}

这是我在前端看到的:

索引:0 - 问题:[object Object],[object Object],[object Object] - id:
索引:1 - 问题:[object Object] - id:

似乎所有三个问题都在数组的第一个索引中。我从 api 得到的数据是这样的: data response from api

所以看起来data属性在数组的第一个索引中,而meta数组在第二个索引中。但我不知道该怎么办。有任何想法吗?我尝试过:更改模型,但没有任何效果。

4

0 回答 0