Для побочного проекта я создал новую реализацию ControlValueAccessor (матрица выбора AKA: таблица, в которой можно выбирать и отменять ячейки).Может быть предоставлен входной параметр для изменения поведения матрицы в ответ на взаимодействие с пользователем.
Я пытаюсь создать страницу «примеров» для перечисления нескольких элементов управления выбором матрицы с различными установленными параметрами (примерно так:https://material.angular.io/components/datepicker/overview). Для каждого примера я хотел бы показать связанное значение json, которое обновляется при взаимодействии пользователя с элементом управления и параметрами json.
Это просто, но повторяется (у меня многобольше вариантов, чем указано ниже):
Matrix Selection Component
Basic
Json
{{data|json}}
Опции
{{options||json}}
С метками
Json
{{data|json}}
Опции
{{options||json}}
...
Обратите внимание, что для каждого примера мне нужно вывести значения json и options.
В моей голове (вероятно, неправильно) я хотел бы сделать что-то вроде:
<h1>Matrix Selection Component</h1>
<h2>Basic</h2>
<app-example>
<app-matrix-selection [formControl]="peopleAttributesControl"></app-matrix-selection>
</app-example>
<h2>With Labels</h2>
<app-example>
<app-matrix-selection [formControl]="peopleAttributesControl" [keys]="people" [selectables]="subjects" firstCellValue="Students / Subjects"></app-matrix-selection>
</app-example>
...
И определить AppExampleComponent таким образом, чтобы он мог выводить данные и параметры любого переданного компонента.в (не только матрица выбора, но и все остальное, что я мог бы определить с помощью указанных свойств).
Я изо всех сил пытаюсь найти какие-либо ресурсы, чтобы помочь мне достичь этого, и я думаю, что это может быть, потому что я изо всех сил пытаюсь сказать, чтоэто я пытаюсь добиться.Я хочу, чтобы компонент обернул другой компонент, чтобы он мог показать мне эффекты взаимодействия с этим компонентом.
Полагаю, другие способы достижения этого - это вариант 1:
<h1>Matrix Selection Component</h1>
<h2>Basic</h2>
<app-matrix-selection [formControl]="peopleAttributesControl"></app-matrix-selection>
<app-example [data]="peopleAttributes"></app-example>
<h2>With Labels</h2>
<app-matrix-selection [formControl]="peopleAttributesControl" [keys]="people" [selectables]="subjects" firstCellValue="Students / Subjects"></app-matrix-selection>
<app-example [data]="peopleAttributes" [options]="withLabelsOptions"></app-example>
...
или вариант 2:
<h1>Matrix Selection Component</h1>
<app-matrix-selection-example title="Basic" [data]="peopleAttributes"></app-matrix-selection-example>
<app-matrix-selection-example title = "With Labels" [data]="peopleAttributes" [keys]="people" [selectables]="subjects" firstCellValue="Students / Subjects" [data]="peopleAttributes" [options]="withLabelOptions"></app-matrix-selection>
...
, но я действительно не хочу создавать пример компонента для каждого будущего ControlValueAccessor, который я создаю.
Мне кажется, что здесь есть ключевая часть возможностей Angular, которую мне здесь не хватает,Если нет, то как бы вы подошли к этому?