В данный момент я пытаюсь решить проблему, возникшую у меня в Angular.Проблема в том, что у меня есть один большой объект, который содержит несколько объектов одного типа в массиве, который также может содержать одни и те же объекты внутри его массива.Я знаю, что это звучит немного сложно, но я постараюсь объяснить это лучше в остальной части моего текста.
export class Parameter {
name: number;
subject: string;
type: string;
comparison: string;
colour: string;
givenValue: number;
tree: string;
children: Parameter[];
}
Я уже пробовал несколько слов / предложений, чтобы найти кого-то с тем же вопросом, но не смогнайти один.Может быть, я пытаюсь объяснить свой вопрос иначе / не так?Я не знаю, но я сталкиваюсь с этой проблемой в течение нескольких дней, и я избавился от нее.
Ниже здесь вы можете увидеть мой HTML-код, созданный с помощью углов, чтобы увидеть каждый объект в объекте и объекты внутри.Проблема, с которой я сталкиваюсь, заключается в том, что я просто вижу первый объект и объекты внутри этого объекта.Но я не мог получить это так далеко, чтобы позволить ему автоматически показывать все объекты до конца.Как вы можете видеть, я показываю второй слой в объекте, жестко закодированный с помощью ngfor.
<div class="accordion" *ngFor="let currentParameter of smartContract.parameters">
<mat-accordion>
<mat-expansion-panel>
<mat-expansion-panel-header>
<mat-panel-title>
Parameter {{currentParameter.name}}
</mat-panel-title>
</mat-expansion-panel-header>
<div class="parameter">
<div class="inputs">
<div class="input">
<mat-form-field>
<mat-select placeholder="Kies een categorie">
<mat-option *ngFor="let category of categories"
[value]="category.value"
(click)="currentParameter.subject = category.value"
> {{category.viewValue}} </mat-option>
</mat-select>
</mat-form-field>
</div>
</div>
</div>
<mat-expansion-panel *ngFor="let currentParameterOfChild of currentParameter.children" > <!-- dit is de plaats van een nieuwe parameter in een nieuwe laag - begin -->
<mat-expansion-panel-header>
<mat-panel-title>
Parameter {{currentParameterOfChild.name}}
</mat-panel-title>
</mat-expansion-panel-header>
<div class="parameter">
<div class="inputs">
<div class="input">
<mat-form-field>
<mat-select placeholder="Kies een categorie">
<mat-option *ngFor="let category of categories"
[value]="category.value"
(click)="currentParameterOfChild.subject = category.value"
> {{category.viewValue}} </mat-option>
</mat-select>
</mat-form-field>
</div>
</div>
</div>
<div class="add-parameter-layer">
<button mat-mini-fab class="plusbutton" [mat-menu-trigger-for]="param1" type="button">
<mat-icon aria-label="Icon-button with plus">add</mat-icon>
</button>
<mat-menu #param1="matMenu">
<button mat-menu-item type="button" >
<span (click)="newParameterNewLayer(currentParameterOfChild.name, currentParameterOfChild.tree)">Nieuwe parameter in nieuwe laag</span>
</button>
<button mat-menu-item type="button">
<span (click)="newParameter()">Nieuwe parameter in deze laag</span>
</button>
</mat-menu>
</div>
</mat-expansion-panel> <!-- dit is de plaats van een nieuwe parameter in een nieuwe laag - begin -->
<div class="add-parameter-layer">
<button mat-mini-fab class="plusbutton" [mat-menu-trigger-for]="param1" type="button">
<mat-icon aria-label="Icon-button with plus">add</mat-icon>
</button>
<mat-menu #param1="matMenu">
<button mat-menu-item type="button" >
<span (click)="newParameterNewLayer(currentParameter.name, currentParameter.tree)">Nieuwe parameter in nieuwe laag</span>
</button>
<button mat-menu-item type="button">
<span (click)="newParameter()">Nieuwe parameter in deze laag</span>
</button>
</mat-menu>
</div>
</mat-expansion-panel>
</mat-accordion>
</div>
Я знаю, мой плохой английский очень плохой, и я хотел бы извиниться за это.Но мне действительно нужна помощь для этого прямо сейчас.Мне нужно показать div внутри div, пока я не нахожусь в последнем объекте, который содержит переменные.