ngTemplate API
import { NgTemplate } from "ng-template";
let template = new NgTemplate( el, tpl ); // compile template
template.sync( scope ); // render on the first run and after synchronize it with the scope
// optional
console.log( template.report() ); // find the synchronization details
where:
- el - a DOM element we bind to
- tpl - OPTIONAL: template code that will be injected into
el - scope - an object literal (template scope) whose members form the scope for template expressions
Also can be instantiated via the factory:
NgTemplate.factory( el, tpl )
.sync( scope );
Report
You can get template synchronization details like that:
let tpl = new NgTemplate(
document.createElement( "div" ),
"<span data-ng-text=\"foo.bar.baz\"></span>"
);
tpl.sync({});
console.log( tpl.report().errors ); // [ "'foo.bar.baz' is undefined" ]
Options
You can define though the constructor options the callbacks willMount and didMount. The first one gets invoked straight before the ngTemplate populates
bounding element's inner HTML from the template string. ngTemplate calls the second callback after that:
import { NgTemplate } from "ng-template";
let template = new NgTemplate( el, tpl, {
willMount: function(){
console.log( "Template is up to initial rendering" );
},
didMount: function(){
console.log( "Template just finished initial rendering" );
}
});