Angular2 dragula模型未更新

时间:2016-06-16 13:03:38

标签: model angular dragula

我在我的项目中使用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]

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

2 个答案:

答案 0 :(得分:5)

您需要将Dragula指令移动到“bag”级别。

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

答案 1 :(得分:0)

对我来说,它不起作用,因为我将dragula放在了要转换为阴影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>