Это продолжение предыдущего вопроса, который я задал для SO: Добавить директивы в селектор компонентов, когда он объявлен - Угловой 7
Я динамически создаю компоненты одним нажатием кнопки.Компоненты отображаются один под другим в виде списка.Я хочу представить поведение перетаскивания, чтобы пользователь мог переставлять компоненты после их создания.
В предыдущем вопросе я пытался использовать Angular-Material, но понял, что его нельзя использовать для компонентов, из-за проблемы добавления директивы "cdkDrag" к тегу селектора компонента и того факта, что cdkDropList и cdkDrag, возможно, должны быть в одном шаблоне.
У меня есть div как таковой в шаблоне:
<div cdkDropList style="margin: 20px" (cdkDropListDropped)="drop($event)">
<div #container></div>
</div>
И я создаю пользовательские компоненты следующим образом:
@ViewChild('container', {read: ViewContainerRef})
container: ViewContainerRef;
const childComponent = this.componentFactoryResolver.resolveComponentFactory(CustomComponent);
const component = this.container.createComponent(childComponent);
Это прекрасно работает.Можно ли вообще создавать перетаскиваемые динамически созданные компоненты?
Спасибо.