Я видел десятки примеров, использующих Angular Перетаскивание CDK материала с использованием простых старых элементов div, но я не могу найти примеров, где вместо элемента div мы можем перетащить другой компонент * 1002. *. Похоже, что если cdkDrag, cdkDropList и (в частности) cdkDragHandle не находятся в одном и том же физическом файле шаблона, то эти директивы просто не работают.
Мне удалось обойти это, поместив мой компонент внутри div, но я хочу, чтобы компонент имел дескриптор перетаскивания, потому что именно здесь он, кажется, имеет больше смысла.
<div cdkDropList (cdkDropListDropped)="containerDrop($event)">
<!-- I could put the cdkDragHandle here, but I want it inside the component -->
<!-- this div is just for containing my child component, something to attach cdkDrag to -->
<div *ngFor="let child of containers" cdkDrag>
<!-- I'd like to include a cdkDragHandle directive inside this component's template -->
<container-editor [container]="child"></container-editor>
</div>
</div>
Это не имеет ничего общего с удалением в другой список, я хочу остаться в том же списке.
Возможно ли это?