简体   繁体   English

Angular2 Dragula模型未更新

[英]Angular2 dragula model is not updated

I am using ng2-dragula for my project and the model updating is not workin when drag and drop 我在项目中使用ng2-dragula,拖放时无法进行模型更新

<ul style="list-style-type: none;">
   <li *ngFor="let item of itemList" [dragula]='"bag-one"'          [dragulaModel]='itemList' >
      <div >
           {{item.label | itemFilter:user.language}}
          <a (click)="delete(item)" style="cursor:pointer;">delete</a>
       </div>
     </li>
    </ul>

a part of my component : 我组件的一部分:

@Component({
   moduleId: module.id,
   selector: 'item-user',
    templateUrl: 'item.component.html',
    styleUrls: ['item.component.css'],
    pipes: [itemFilter],
    directives: [Dragula] 

... ...

a part of my root component 我的根本组成部分的一部分

@Component({
    .....
    viewProviders: [DragulaService]

the drag and drop works fine, put itemList (model) is not updated (no error at console) why ? 拖放工作正常,put itemList(模型)未更新(控制台无错误)为什么?

You need to move the Dragula directives up to the "bag" level. 您需要将Dragula指令上移至“ bag”级别。

<ul style="list-style-type: none;" [dragula]='"bag-one"' [dragulaModel]='itemList'>
   <li *ngFor="let item of itemList">
       ...

For me it did not work because I was placing the dragula on html elements that were converting to shadow dom. 对我来说,这是行不通的,因为我将dragula放在了要转换为阴影dom的html元素上。

For example, I went from this: 例如,我从这里出发:

<ion-card-content dragula="DRAGULA_FACTS">
  <ion-item *ngFor="let featureUserType of featureUserTypes">
    <uab-menu-feature-button [feature]="featureUserType"
                             [enableRoutes]="false"
                             [showDescription]="true"
                             [showFullName]="true"></uab-menu-feature-button>
  </ion-item>

To this: 对此:

<div [dragula]="'REORDER_FEATURES'"
       [dragulaModel]="featureUserTypes"
       (dragulaModelChange)="reorderFeatures($event)">
    <div *ngFor="let featureUserType of featureUserTypes">
      <ion-item>
        <uab-menu-feature-button [feature]="featureUserType"
                                 [enableRoutes]="false"
                                 [showDescription]="true"
                                 [showFullName]="true"></uab-menu-feature-button>
      </ion-item>
    </div>
  </div>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM