我在我的项目中使用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(模型)没有更新 (控制台没有错误) 为什么?
答案 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>