Lodash _.template() method is used to create a template function that is compiled and can interpolate properties of data in interpolate delimiters, execute JavaScript in evaluate delimiters, and HTML-escape interpolated properties of data in escape delimiters. Moreover, data properties are retrieved in the template as free variables.
Syntax:
_.template([string=''], [options={}])
;
Parameters:
- string: It is a string that would be used as the template. It is an optional value.
-
options: It is an object that can be used to modify the behavior of the method. It is an optional value.
- options.interpolate: It is a regular expression that specifies the HTML interpolate delimiter.
- options.evaluate: It is a regular expression that specifies the HTML evaluate delimiter.
- options.escape: It is a regular expression that specifies the HTML escape delimiter.
- options.imports: It is an object which is to be imported as free variables into the template.
- options.sourceURL: It is a string that denotes the source URL of the compiled template.
- options.variable: It is a string that denotes the variable name of the data object.
Return Value:
This method returns the compiled template function.
Example 1: In this example, we are passing a string into the _.template() method.
// Requiring lodash library const _ = require( 'lodash' );
// Using the _.template() method to // create a compiled template using // the "interpolate" delimiter let comptempl = _.template( 'Hi <%= author%>!' );
// Assigning the value to the // interpolate delimiter let result = comptempl({ 'author' : 'Nidhi' });
// Displays output console.log(result); |
Output:
Hi Nidhi!
Example 2: In this example, we are passing a string into the _.template() method. and printing the ‘geek’ into the console.
// Requiring lodash library const _ = require( 'lodash' );
// Using the _.template() method to // create a compiled template using // the internal print function in // the "evaluate" delimiter let comptempl = _.template( '<% print("hey " + geek); %>...'
); // Assigning value to the evaluate delimiter let result = comptempl({ 'geek' : 'Nisha' });
// Displays output console.log(result); |
Output:
hey Nisha...
Example 3: In this example, we are passing a string into the _.template() method. The forEach() method is used as the evaluate delimiter in order to generate HTML as output.
// Requiring lodash library const _ = require( "lodash" );
// Using the template() method with // additional parameters let compiled_temp = _.template( "<% _.forEach(students, function(students) " +
"{ %><li><b><%- students %></b></li><% }); %>"
)({ students: [ "Rahul" , "Rohit" ] });
// Displays the output console.log(compiled_temp); |
Output:
<li><b>Rahul</b></li><li><b>Rohit</b></li>