Skip to content

Instantly share code, notes, and snippets.

@natmegs
Created December 20, 2017 23:19
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save natmegs/b1e7d3130ab7c5c0ae774a2ff0b1e386 to your computer and use it in GitHub Desktop.
Save natmegs/b1e7d3130ab7c5c0ae774a2ff0b1e386 to your computer and use it in GitHub Desktop.
Add inputs to dynamic component
import { Component } from '@angular/core';
import { DynamicComponent } from './dynamic.component';
@Component({
selector: 'host',
templateUrl: './host.component.html',
styleUrls: [ './host.component.css' ],
entryComponents: [DynamicComponent]
})
export class AppComponent {
name = 'Dynamic';
@ViewChild('container', { read: ViewContainerRef }) container: ViewContainerRef;
constructor (private resolver: ComponentFactoryResolver) {
}
addComponent() {
let factory = this.resolver.resolveComponentFactory(DynamicComponent);
this.container.createComponent(factory);
let inputs = { name: this.name };
let component = factory.create(null);
Object.keys(inputs).map(input => {
component.instance[input] = inputs[input];
});
this.container.insert(component.hostView);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment