加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

ng2-dragula [dragula](angular2拖放) – * ngFor与[dragulaMode

发布时间:2020-12-17 07:13:03 所属栏目:安全 来源:网络整理
导读:使用ng2-dragula拖放包装库为角2 dragula. https://github.com/valor-software/ng2-dragula 看到[dragulaModel] =’myList’的问题…当项目被丢弃时……噗……它消失了. 检查元素,我看到它仍然在模型中,但DOM元素丢失其内部html(变为空div) – 导致div“显示
使用ng2-dragula拖放包装库为角2 dragula.

https://github.com/valor-software/ng2-dragula

看到[dragulaModel] =’myList’的问题…当项目被丢弃时……噗……它消失了.

检查元素,我看到它仍然在模型中,但DOM元素丢失其内部html(变为空div) – 导致div“显示”被隐藏.

import { Component } from '@angular/core';
import { DragulaService } from 'ng2-dragula/ng2-dragula';

@Component({

moduleId: module.id,selector: 'my-app',template: `
 <div>
    <div class='wrapper'>
      <div class='container' *ngFor='let fixture of fixtures' [dragula]='"first-bag"' [dragulaModel]='fixtures'>
        <div>{{fixture.name}}</div>
      </div>
    </div>
  </div>
`,viewProviders: [DragulaService],styles: [`
.wrapper {
  display: table;
}
.container {
  display: block;
  background-color: rgba(255,255,0.2);
  width: 200px;
}
.container div,.gu-mirror {
  margin: 10px;
  padding: 10px;
  background-color: rgba(0,0.2);
  transition: opacity 0.4s ease-in-out;
}
.container div {
  cursor: move;
  cursor: grab;
  cursor: -moz-grab;
  cursor: -webkit-grab;
}
.gu-mirror {
  cursor: grabbing;
  cursor: -moz-grabbing;
  cursor: -webkit-grabbing;
}
`]

})
export class DragulaComponent { 
fixtures: any[];

constructor( private dragulaService: DragulaService ) { 
    dragulaService.dropModel.subscribe((value:any[]) => {
        console.log(value);
        console.log(this.fixtures[0]);
    });
}

ngOnInit(): void {
    this.fixtures = [
         { id: 11,name: 'Table 1',day: 1,duration: '4h',closetBuild: true,clearance: false,consolidateExpand: '',associateMoves: 'dan',notes:'blah blah blah.',items: [ {name: "christmas sweaters",skus: [{sku:'123',comingFrom:'test coming from',earlySet: false}] }] },{ id: 12,name: 'Table 2',consolidateExpand:'',duration: '1.5H'},{ id: 13,name: 'Table 3 / C5',consolidateExpand:'e',day: 99,duration: '99.99h',},{ id: 14,name: 'Table 4',day: 1 },{ id: 15,name: 'Closet 70-71',duration: '19h',closetBuild: false,items: [ {name: "christmas sweaters and other very cool stuff",skus: [{sku:'123-456-789-111',comingFrom:'blah blah blah coming from',earlySet: 'fixtures'},{sku:'123-aaaa-383838383838-1',comingFrom:'test coming from'}] }] },{ id: 16,name: 'Closet 77-78' },{ id: 17,name: 'Closet 80-81' },{ id: 18,name: 'Closet 82-83' },{ id: 19,name: 'BACKSTOCK' },{ id: 20,name: 'TABLE C1' }
     ];
}
}

解决方法

韦尔普想出了这个问题.内部html是空白的,因为实际的DOM元素dragula移动是内部html(元素的内容),而不是移动标有属性[dragula]的元素.

这解决了它:

<div class='wrapper' [dragula]='"first-bag"' [dragulaModel]='fixtures'>
      <div class='container' *ngFor='let fixture of fixtures'>
        <div>{{fixture.id}}</div>
      </div>
    </div>

他们自己的文档有点不清楚,因为他们有:

<ul>
  <li *ngFor="let item of items" [dragula]='"bag-one"' [dragulaModel]='items'></li>
</ul>

故事的道德:移动你的[dragula]和[dragulaModel] UP你放置你的* ngFor的元素.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读