import {
Component,
Injectable,
ViewChild,
ViewContainerRef,
OnInit,
NgModule,
CUSTOM_ELEMENTS_SCHEMA,
} from '@angular/core';
import {CompileService } from '../../../src';
@Component({
selector: 'p3x-compile-test',
template: `
Hidden
(you should nothing above, only hidden)
Visible
`
})
@Injectable()
export class Page implements OnInit {
@ViewChild('container', {read: ViewContainerRef}) container: ViewContainerRef;
@ViewChild('container2', {read: ViewContainerRef}) container2: ViewContainerRef;
data1: string;
data2: string;
counter1 : number = 0;
counter2 : number = 0;
constructor( private compileHtmlService: CompileService ) {
}
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();
}
}