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
}