将cdkDrag指令动态添加到生成的组件中

时间:2019-08-27 09:54:23

标签: angular drag-and-drop

我有一个生成的div,我想在其中添加拖放。

在HTML中,是这样的:

it('should check if assignment has double files', (done) => {
    element.dubleFilesIcon.isPresent().then(function(present) {
        if (present) {
            console.log('There ARE double files for this assignment!!!');
            assignmentHeader.doubleFiles();
            expect(element.doubleFilesindicator.isDisplayed()).toBe(true);
            done();
        } else {
            done.call(expect(element.doubleFilesindicator.isPresent().toBe(false));)
        }
    });

});

但是在生成组件时,我想做类似的事情,但不知道如何做:

 (div) cdkdrag ... (/div)

如果有人知道这是否可行以及如何实现?

let myDiv = document.createElement('div');
"myDiv.cdkDrag...?????"

1 个答案:

答案 0 :(得分:0)

我建议一个更简单的选择是拥有您的模板并使用条件*ngIf*ngFor语句进行构造/破坏。这样,您将已经具有正确的属性,并在编译期间添加了检查。

  <div *ngIf="shouldShowDragElement" cdkDrag>...</div>

  <div *ngFor="let element of generatedElementsList" cdkDrag>...</div>