Lodash _.template() 方法
Lodash是一个基于 underscore.js 的 JavaScript 库。 Lodash 有助于处理数组、字符串、对象、数字等。
_.template() 方法用于创建一个模板函数,该函数已编译并可以在interpolate delimiters 中插入数据的属性,在评估分隔符中执行 JavaScript,以及在转义分隔符中 HTML-escape 插入数据的属性。此外,数据属性在模板中作为自由变量检索。
句法:
_.template( string, options )
参数:此方法接受上面提到的两个参数,如下所述:
- 字符串:这是一个将用作模板的字符串。它是一个可选值。
- options:它是一个可以用来修改方法行为的对象。它是一个可选值。
options 字段具有以下可选参数:
- options.interpolate:它是一个正则表达式,用于指定 HTML插值分隔符。
- options.evaluate:它是一个正则表达式,用于指定 HTML计算分隔符。
- options.escape:它是一个正则表达式,用于指定 HTML转义分隔符。
- options.imports:这是一个作为自由变量导入模板的对象。
- options.sourceURL:它是一个字符串,表示已编译模板的源 URL。
- options.variable:它是一个字符串,表示数据对象的变量名。
返回值:该方法返回编译后的模板函数。
示例 1:
Javascript
// Requiring lodash library
const _ = require('lodash');
// Using the _.template() method to
// create a compiled template using
// the "interpolate" delimiter
var comptempl =
_.template('Hi <%= author%>!');
// Assigning the value to the
// interpolate delimiter
let result =
comptempl({ 'author': 'Nidhi' });
// Displays output
console.log(result);
Javascript
// Requiring lodash library
const _ = require('lodash');
// Using the _.template() method to
// create a compiled template using
// the internal print function in
// the "evaluate" delimiter
var comptempl = _.template(
'<% print("hey " + geek); %>...'
);
// Assigning value to the evaluate delimiter
let result =
comptempl({ 'geek': 'Nisha' });
// Displays output
console.log(result);
Javascript
// Requiring lodash library
const _ = require("lodash");
// Using the template() method with
// additional parameters
let compiled_temp = _.template(
"<% _.forEach(students, function(students) " +
"{ %><%- students %> <% }); %>"
)({ students: ["Rahul", "Rohit"] });
// Displays the output
console.log(compiled_temp);
输出:
Hi Nidhi!
示例 2:
Javascript
// Requiring lodash library
const _ = require('lodash');
// Using the _.template() method to
// create a compiled template using
// the internal print function in
// the "evaluate" delimiter
var comptempl = _.template(
'<% print("hey " + geek); %>...'
);
// Assigning value to the evaluate delimiter
let result =
comptempl({ 'geek': 'Nisha' });
// Displays output
console.log(result);
输出:
hey Nisha...
示例 3: forEach() 方法用作评估分隔符,以便生成 HTML 作为输出。
Javascript
// Requiring lodash library
const _ = require("lodash");
// Using the template() method with
// additional parameters
let compiled_temp = _.template(
"<% _.forEach(students, function(students) " +
"{ %><%- students %> <% }); %>"
)({ students: ["Rahul", "Rohit"] });
// Displays the output
console.log(compiled_temp);
输出:
Rahul Rohit