Как бы вы разработали этот компонент в Angular 6?
У меня есть довольно простой вопрос относительно правильного проектирования компонентов.
Я создал основной компонент аккордеона, который я использую для отображения заголовка и описания. Если щелкнуть заголовок, описание отображается или скрывается (переключается).
@Input() title: String;
@Input() description: String;
В настоящее время я передаю название и описание в шаблоне в качестве реквизита.
<div *ngFor="let project of individualProjects">
<app-accordion-item
[title]="project.title"
[description]="project.description"
[chips]="project.tags">
</app-accordion-item>
</div>
Аккордеонный шаблон
<div class="accordion-description" *ngIf="opened">
{{ description }}
</div>
С этой структурой рендеринг простого абзаца без каких-либо элементов списка или новых строк не является проблемой.
Однако предположим, что элемент массива IndividualProjects выглядит следующим образом:
{
title: "Project title",
description: `
The overall project involved the following:
Project detail 1
Project detail 2
Project detail 3
..
Some more text about project`,
tags: ["tag"]
},
...
Some more text here
Я хотел бы иметь возможность отображать элементы "Сведения о проекте x" как элементы списка, что предполагает, что мне нужна другая структура. Я понимаю, что могу столкнуться со многими различными сценариями, касающимися этой проблемы, что потребовало бы от меня обновления этой структуры.
Разумно ли использовать нг-контент? Иначе как бы вы предложили мне подойти к этому?
Спасибо