我想要做什么:我正在尝试从我的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
数组在第二个索引中。但我不知道该怎么办。有任何想法吗?我尝试过:更改模型,但没有任何效果。