Сначала, чтобы соединить все списки, вы можете использовать следующее (я не уверен, что это может решить вашу проблему перетаскивания сброса):
<div cdkDropListGroup>
<!-- All lists in here will be connected. -->
<div cdkDropList *ngFor="let list of lists"></div>
</div>
Должен отображаться на сайте угловых компонентов.
В настоящее время вы создаете статические значения, и если у вас есть динамические значения, которые можно генерировать, то использование * ngFor с большой вероятностью будет предпочтительным.
Содержимое в списках будет оставаться таким же, как отображается. Таким образом, используя * ng, вы создаете на одном шаблоне способ отображения элемента в списке. Для этого вы можете иметь разные «шаблоны» в каждом dropList. Если оба списка подключены / связаны, это позволит вам передавать контент независимо от того, что именно, но отображаемый контент, скорее всего, останется тем же, что и шаблон.
Я не могу точно сказать, как вы можете обрабатывать динамические данные, которые не определены, но вы, вероятно, можете классифицировать тип данных, которые вы хотите обрабатывать, и создать шаблон для них. Затем воспользуйтесь * ngIF и отобразите данные по желанию, если они определенного типа.