Как бы вы разработали этот компонент в 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" как элементы списка, что предполагает, что мне нужна другая структура. Я понимаю, что могу столкнуться со многими различными сценариями, касающимися этой проблемы, что потребовало бы от меня обновления этой структуры.

Разумно ли использовать нг-контент? Иначе как бы вы предложили мне подойти к этому?

Спасибо

0 ответов

Другие вопросы по тегам