Я создал два div, один из которых содержит изображение, а другой — пустой. я хочу перетащить это изображение из одного div в другой. Здесь я использую cdk drag and drop и свойство cdkDragFreeDragPosition, но меня это не устраивает, так как я ищу что-то более похожее на это эффект
<div class="example-container">
<h1>From</h1>
<div class="example-list1"
id = "pic1">
<div cdkDrag class="example-box" [cdkDragFreeDragPosition]="dragPosition">
<img width="350px" height="250px" src="https://material.angular.io/assets/img/examples/shiba2.jpg" alt="Photo of a Shiba Inu">
</div>
</div>
</div>
<div class="example-container">
<h1>To</h1>
<div class="example-list"
id = "pic2">
<div cdkDrag class="example-box">
</div>
</div>
</div>
ts:
dragPosition = {x: 0, y: 0};
cdkDrag — это не Magic. Если вы можете перетащить что-то в место, вам нужно использовать два cdkDropList. Когда у нас есть два cdkDropList, вы можете думать об этом как о двух div с двумя массивами
cdk-drag позволяет заменять элементы из массива-один на массив-два. Да, вместо этого сделайте что-нибудь вроде
Делаем перетаскивание
Итак, вам нужно два
cdkDropList
, внутри cdkDropList вы можете использовать * ngFor в div, а каждый div — этоcdkDrag
, или использовать уникальный элемент. Опять же, на примере двух div, у нас может получиться что-то вродеНо не обязательно был список. У вас может быть cdkDropList с уникальным элементом
В этом случае обмен просто
Что ж, большое спасибо, я понял использование массивов, но как я могу это сделать без использования массива. Мол, я хочу реализовать перетаскивание только для одного изображения. Было бы это все еще возможно без использования какого-либо массива? — person aneesh muthyala; 27.10.2020