0

いくつかの div を含むバッグがあり、各 div にはすべて同じ場所の値を持つ項目のリストがあるため、"Misc" div にはすべて "location: misc" を持つ項目があり、"Armor" div にはすべての項目があります。 「場所:鎧」などがあります。

アイテムをそれぞれの div に並べ替えることができますが、アイテムを別の div にドラッグして、それに応じてアイテムの場所の値を変更できるようにしたいのですが、どうすればよいかわかりません。

この解決策を試しましたが、正しく理解できていないはずです。

コード スニペット - これは単に「未定義」のコンソールです

HTML:

    <div 
    [dragula]='"bag-equipment"'
    [dragulaModel]="equipmentBagOfHolding"
    [attr.data-id]="bag-equipment"
    >
    <mat-card 
        *ngFor="let item of equipmentBagOfHolding"  
    >
        {{ item.name }} 
    </mat-card>
</div> 

<div 
    [dragula]='"bag-equipment"' 
    [dragulaModel]="equipmentArmor"
    [attr.data-id]="bag-equipment"
>
    <mat-card 
        *ngFor="let item of equipmentArmor"  
    >
        {{ item.name }} 
    </mat-card>
</div>

TS:

dragulaService.drop.subscribe(value => {
    const [bagName, e, el] = value;
    console.log('id is:', e.dataset.id);
});
4

1 に答える 1

1

出発地と目的地を取得できることに気付きました:

this.dragula.drop.subscribe(value => {
    //Bag       
    console.log(value[0]);

    // What is moved
    console.log(value[1]);

    // Destination
    console.log(value[2]);

    // Origin
    console.log(value[3]);
});

たとえば、宛先のIDを次のように検索します。

console.log(value[2]['id']);
于 2018-05-02T20:32:41.570 に答える