- angular-compile.git
- test
- angular2-webpack
- app
- Page.ts
This file ( 1kB ) exceeds the allowed full mode (48 kb) size.
The editor full hight is disabled, only scrolling is allowed..
If you wish to edit a file, it is recommended to use the scroll mode as some users do not like the full height
mode, although some users like it.
import {
Component,
Injectable,
ViewChild,
ViewContainerRef,
OnInit
} from '@angular/core';
import {CompileHtmlService } from '../../../src';
@Component({
selector: 'p3x-ng2-compile-html-test',
template: `
<div #container></div>
<hr/>
<div [p3x-compile-html]="data2" [p3x-compile-html-ref]="ref"></div>
`
})
@Injectable()
export class Page implements OnInit {
@ViewChild('container', {read: ViewContainerRef}) container: ViewContainerRef;
data1: string;
data2: string;
ref: Page;
counter1 : number = 0;
counter2 : number = 0;
constructor( private compileHtmlService: CompileHtmlService ) {
this.ref = this;
}
private update1() {
this.counter1++;
this.data1 = `
<div>Service</div><a id="button-container" href="javascript:void(0);" (click)="ref.update1()">Click me via a service!</a>
<div id="counter-container">${this.counter1}</div>
`;
this.compileHtmlService.compile({
template: this.data1,
container: this.container,
ref: this,
})
}
private update2() {
this.counter2++;
this.data2 = `
<div>Attribute</div><a id="button-attribute" href="javascript:void(0);" (click)="ref.update2()">Click me via an attribute!</a>
<div id="counter-attribute">${this.counter2}</div>
`;
}
ngOnInit() {
this.update1();
this.update2();
}
}