Это может быть общая / простая проблема, но я новичок в угловых.Итак, я пойман в этом.
Я пытаюсь создать приложение, которое требует рендеринга списка из структуры данных, которая является бесконечно вложенной (Под бесконечно я имею в виду неизвестное количество вложений).Я смог сделать рекурсию в html-коде после этой статьи .
Итак, основная идея состоит в том, чтобы предоставить данные и ключ рекурсии и поместить тег компонента в сам шаблон компонента.(Базовая рекурсия)
Но я хочу создать общий компонент, в котором макет ячейки может быть определен на уровне приложения / реализации.
То, что я построил до сих пор -
novo-rec-list-view.component
<div *ngIf="dataSource.length">
<div *ngFor="let item of dataSource">
<ng-template [ngTemplateOutlet]="itemTemplate" [ngTemplateOutletContext]="{ $implicit: item }"></ng-template>
<novo-rec-list-view [recursionKey]="recursionKey" [dataSource]="item[recursionKey]"></novo-rec-list-view>
</div>
, и я использую этот компонент как -
<novo-rec-list-view
id="change-log-list"
[recursionKey]="recursionKey"
[dataSource]="treeNodeList">
<ng-template #itemTemplate let-item="$implicit" let-i="index">
<change-log-cell [item]="item">
</change-log-cell>
</ng-template>
</novo-rec-list-view>
где change-log-cell содержит макет ячейки.
Может ли это быть достигнуто в angular4?Может кто-нибудь дать мне несколько советов о том, как это сделать?
Минимально работающее приложение на основе приведенного выше кода - https://stackblitz.com/edit/angular-snub7u?embed=1&file=src/app/app.component.ts
PS - Не удается достичь рекурсии, поэтому внутренние элементы не используютсяотображается.