Angular2 +如何从QueryList获取正确的元素顺序<>

时间:2017-02-26 17:10:18

标签: angular

所以我有一个可排序的列表,它是*ngFor中的几个元素,我拖放。 在下降我想获得项目的新订单。 所以我添加了一个事件,但QueryList的顺序保持不变。

以下是我试过的一些没有运气的事情

public getOrder() {

        var records: QueryList<SimpleGridRecord> = this.simpleGridRecords.length > 0 || this.simpleGridDraggable.simpleGridRecords;
        records.notifyOnChanges()
        // this.cd.detectChanges();
        records.forEach((s:SimpleGridRecord) => {
            console.log(s.index);
            console.log(s.item.getKey('id'));
        });

    }

无论如何都要获得更新的元素顺序列表?

我将索引和id保存在我循环的对象中

enter image description here

问候

肖恩

1 个答案:

答案 0 :(得分:1)

您可以使用@ContentChildren()@ViewChildren()订阅更改:

@ViewChildren(SimpleGridRecord) records: QueryList<SimpleGridRecord>;

ngAfterViewInit() {
  this.records.changessubscribe(val => console.log(this.records.toArray()));
}