После рендеринга в DOM пользовательская директива не работает с динамически созданным элементом - PullRequest
0 голосов
/ 30 мая 2019

Я пытаюсь сгенерировать динамический div по нажатию кнопки, где этот динамический div содержит свойство настраиваемой директивы. Но после рендеринга в DOM пользовательская директива не работает с динамически созданным элементом.

Я уже пробовал https://stackblitz.com/edit/angular-comp-interact-asd

comp1.component.ts

    let tmpdta = "<p appChangedta >Dynamic div</p>";
    this.dynamicDiv =  this.sanitizer.bypassSecurityTrustHtml(tmpdta);
  } 

comp1.component.html


<div [innerHtml]="dynamicDiv"></div>

changedata.directive.ts

  selector: '[appChangedta]'
})
export class ChangedtaDirective implements OnInit {

  constructor(private elemref: ElementRef, private renderer: Renderer2) { }

  ngOnInit() {
  }

  @HostListener('mouseenter') mouseenter(eventData: Event){
    this.elemref.nativeElement.innerText = "Mouse Enter";
  this.renderer.setStyle(this.elemref.nativeElement, 'background-color', 'green');
  }

  @HostListener('mouseleave') mouseleave(eventData: Event){
    this.elemref.nativeElement.innerText = "Mouse Leave";
   this.renderer.setStyle(this.elemref.nativeElement, 'background-color', 'deepskyblue');
  }

}
...