A template object for dynamically constructing HTML. For more information, see the guide to templates.
Methods
Method | Return type | Brief description |
---|---|---|
evaluate() | HtmlOutput | Evaluates this template and returns an HtmlOutput object. |
getCode() | String | Generates a string of JavaScript code, based on the template file, that can be evaluated. |
getCodeWithComments() | String | Generates a string of JavaScript code that can be evaluated, with each line of the code containing the original line from the template as a comment. |
getRawContent() | String | Returns the unprocessed content of this template. |
Detailed documentation
evaluate()
Evaluates this template and returns an HtmlOutput
object. Any properties set on this
HtmlTemplate
object will be in scope when evaluating. To debug errors in a template,
examine the code using the getCode()
method.
// A template which evaluates to whatever is bound to 'foo'. var template = HtmlService.createTemplate('<?= foo ?>'); template.foo = 'Hello World!'; Logger.log(template.evaluate().getContent()); // will log 'Hello World!'
Return
HtmlOutput
— an HtmlOutput object
getCode()
Generates a string of JavaScript code, based on the template file, that can be evaluated. This
method produces a string of JavaScript code based on the template file. Calling
eval(<code>)
will return a new HtmlOutput
object with the content of the
template after running all embedded server scripts. The generated code is intended to be
human-readable, and so if you need to debug a template you can call
Logger.log(<code>)
to see what was produced.
Evaluating this code will implicitly bind in all variables in the current scope. In general,
it's preferable to use the evaluate()
method, which takes explicit bindings.
var template = HtmlService.createTemplate('<b>The time is <?= new Date() ?></b>'); Logger.log(template.getCode());
Return
String
— a string based on the template, which can be evaluated
getCodeWithComments()
Generates a string of JavaScript code that can be evaluated, with each line of the code
containing the original line from the template as a comment. This method produces a string of
JavaScript code based on the template file. Calling eval(<code>)
will return
a new HtmlOutput
object with the content of the template after running all embedded
server scripts. The generated code is intended to be human-readable, and so if you need to
debug a template you can call Logger.log(<code>)
to see what was produced.
Evaluating this code will implicitly bind in all variables in the current scope. In general,
it's preferable to use the evaluate()
method, which takes explicit bindings.
var template = HtmlService.createTemplate('<b>The time is <?= new Date() ?></b>'); Logger.log(template.getCodeWithComments());
Return
String
— an string based on the template, which can be evaluated
getRawContent()
Returns the unprocessed content of this template.
var template = HtmlService.createTemplate('<b>The time is <?= new Date() ?></b>'); Logger.log(template.getRawContent());
Return
String
— the template's raw content