Angular 2 Komponente dynamisch an DOM oder Vorlage anhängen

Ich plane, dem DOM eine Komponentendynamik hinzuzufügen, wenn show () aufgerufen wird. Ich weiß, dass es eine Lösung mit ngIf oder [hidden] gibt, um es zu verbergen und als Direktive zu verwenden, aber ich bin kein Fan dieser Lösung, weil ich es nicht in meinem HTML deklarieren möchte.

  import {Component} from 'angular2/core';
  import {InfoData} from '../../model/InfoData';

  @Component({
    selector: 'Info',
    templateUrl: './components/pipes&parts/info.html',
    styleUrls: ['./components/pipes&parts/info.css']
  })

  export class Info{
    infoData: InfoData;

    public show(infoData: InfoData) {
      this.infoData= infoData;
      document.body.appendChild(elemDiv); <----- Here?
    }
  }

und dann erkläre ich dies als Provider, damit ich show () aufrufen kann.

  import {Component} from 'angular2/core';
  import {Info} from './components/pipes&parts/Info';

  @Component({
    selector: 'Admin',
    templateUrl: './Admin.html',
    styleUrls: ['./Admin.css'],
    directives: [Info],
    providers: [Info]
  })

  export class Admin {
    constructor(private info: Info) {
    info.show(); <---- append the Info Element to DOM
  }

Antworten auf die Frage(4)

Ihre Antwort auf die Frage