Как удалить element.nativeElement из DOM? - PullRequest
0 голосов
/ 25 августа 2018

Я пробовал так:

@ViewChild('draggable') private draggableElement: ElementRef;

this.draggableElement.nativeElement.remove();

HTML:

<div #draggable>Block</div>

Ответы [ 3 ]

0 голосов
/ 25 августа 2018

Служба Renderer2 пользователя для удаления элемента из dom

removeChild () Реализация этого обратного вызова для удаления дочернего узла из DOM хост-элемента.

@ViewChild('draggable')  draggableElement: ElementRef;
   constructor(private renderer2: Renderer2,private el:ElementRef) {}
  ngOnInit() {
    this.renderer2.removeChild(this.el.nativeElement,this.draggableElement.nativeElement);
  }

Пример: https://stackblitz.com/edit/angular-renderer2-remove

0 голосов
/ 25 августа 2018

Ваш код также будет работать, только вы должны сделать это, удалить элемент в OnInit () , если вы попытаетесь удалить элементы в конструкторе, тогда это представление времени не будет готово.

вот пример

в .html

<div #draggable>Block</div>

и .ts

export class AppComponent implements OnInit {
  name="Angular";

  @ViewChild('draggable') private draggableElement: ElementRef;

  constructor() { }

  ngOnInit() {
   this.draggableElement.nativeElement.remove();
  }
}

вот Stackblitz демо

0 голосов
/ 25 августа 2018

Вы можете использовать * ngIf right, которое будет удалено из DOM при сбое условия.

Block
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...