1

我正在为我的项目使用 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>

我的组件的一部分:

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

...

我的根组件的一部分

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

拖放工作正常,放置itemList(模型)没有更新(控制台没有错误)为什么?

4

2 回答 2

5

您需要将 Dragula 指令移至“袋子”级别。

<ul style="list-style-type: none;" [dragula]='"bag-one"' [dragulaModel]='itemList'>
   <li *ngFor="let item of itemList">
       ...
于 2016-06-21T15:55:00.673 回答
0

对我来说它不起作用,因为我将 dragula 放在正在转换为 shadow dom 的 html 元素上。

例如,我从这个出发:

<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>

对此:

<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>
于 2019-03-29T00:04:42.067 回答