Since we can have multiple ng-content , we can pass multiple array nodes for each of ng-content
Let's say we have the following dynamic component:
<ng-content></ng-content> <div class="container"> <div class="sidebar"> <ng-content></ng-content> </div> <div class="content"> <ng-content></ng-content> </div> </div>
Therefore, when we dynamically create a component, we can enter one and several nodes for each of the ng-content places:
this.vcRef.createComponent(factory, this.vcRef.length, null, [ [document.createTextNode('Top ng-content - Header')], [ document.createTextNode('First ng-content'), document.createElement('br'), document.createTextNode('First ng-content second row') ], [ document.createTextNode('Second ng-content'), document.createElement('br'), document.createTextNode('Second ng-content second row') ] ]);
Plunger example
source share