我正在Angular中构建一个Web应用程序。
我有一个父组件和一个子组件列表。数据由rxjs主题发送。
子组件用于应用程序可工作的另一部分,尽管未在*ngFor
结构中使用
即使我在“条目”数组中只有一个元素,Webapp也会冻结。 我尝试只初始化该组件,而没有发送任何“消息”,但是它仍然冻结
调用getter(validEntries)存在无限循环。
此组件可在其他地方按预期使用。 parent.component.html
<div class="option" *ngFor="let entry of entries">
<app-options-previewer [events]="optionsChanged" [index]="0"></app-options-previewer>
</div>
child.component.html
<mat-chip color="primary" selected *ngFor="let entry of validEntries">{{entry.name}}</mat-chip>
<mat-chip color="primary" *ngIf="validEntries.length==0">No option selected</mat-chip>
断断续续的吸气剂
get validEntries(): Array<CommandEntryOption> {
console.log("valid entries get");
if (this.entries !== undefined)
return this.entries.filter(function (value) { return value.quantity > 0 });
else
return [];
}
实际结果:应用程序冻结 预期结果:数组条目中的每个条目都应该有一个子组件。
如果我应该提供更多信息,请提及。
答案 0 :(得分:1)
问题是将ngfor绑定到吸气剂上。我将其替换为仅存储getter值的属性。我在ngOnInit()上分配了该值,并且每次需要更改它时;