Angular 2 Best Practices — Какая часть HTML квалифицируется как компонент

Если у меня есть одна служба, возвращающая несколько точек данных, и их нужно отображать в нескольких частях html (в приведенном ниже случае их три). Каков наилучший способ организовать и спроектировать это?

Обратите внимание, что здесь Разделы и Свойства всегда отображаются вместе.

Есть три варианта, и я немного запутался между 1-м и 2-м, какой из них выбрать.

  1. Создайте три компонента: TemplateComponent, SectionsComponent и PropertyComponent?
  2. Создайте два компонента: один компонент для шаблонов и другой компонент для разделов и свойств?
  3. Создайте один компонент: один компонент для всех трех разделов.
  4. ?

Мы используем Angular~2.0 с CLI.

Пример ответа службы

Template_A  
     - Section 1
       - Property a
       - Property b 
     - Section 2
       - Property a
       - Property b
Template_B
     - Section 1
       - Property a
       - Property b 
     - Section 2
       - Property a
       - Property b

Пример пользовательского интерфейса введите здесь описание изображения


person Tanmay    schedule 23.06.2017    source источник


Ответы (1)


Вы можете создать базовый компонент и создать столько необходимых дочерних компонентов и передать данные дочерним компонентам.

В вашем случае вы создадите три компонента.

  1. ШаблонКомпонент
  2. РазделыКомпонент
  3. Компонент собственности

    • SectionsComponent will be a child component of TemplateComponent which will receive Sections Data as input.
    • PropertyComponent будет дочерним элементом SectionsComponent, который получит в качестве входных данных данные о свойствах.

См. https://angular.io/guide/component-interaction для получения дополнительной информации.

person Bhargav Mummini    schedule 23.06.2017