import { Component, Injectable, ViewChild, ViewContainerRef, OnInit } from '@angular/core'; import {CompileService } from '../../../src'; @Component({ selector: 'p3x-compile-test', template: `

` }) @Injectable() export class Page implements OnInit { @ViewChild('container', {read: ViewContainerRef}) container: ViewContainerRef; @ViewChild('container2', {read: ViewContainerRef}) container2: ViewContainerRef; data1: string; data2: string; context: Page; counter1 : number = 0; counter2 : number = 0; constructor( private compileHtmlService: CompileService ) { this.context = this; } private async update1() { this.counter1++; this.data1 = `
Service
Click me via a service!
{{ context.counter1}}
`; Promise.all([ this.compileHtmlService.compile({ template: this.data1, container: this.container, context: this, onCompiled: (cmp : any) => { console.log('container1 compiled, same template '); } }) , this.compileHtmlService.compile({ template: this.data1, container: this.container2, context: this, onCompiled: (cmp : any) => { console.log('container2 compiled, same template'); } }) ]) } private update2() { this.counter2++; this.data2 = `
Attribute
Click me via an attribute!
{{ context.counter2}}
`; } ngOnInit() { this.update1(); this.update2(); } }