当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Lodash _.template()用法及代码示例


Lodash是一个JavaScript库,可在underscore.js之上运行。 Lodash帮助处理数组,字符串,对象,数字等。

_.template()方法用于创建一个模板函数,该函数已编译并可以在插值定界符中插值数据的属性,在评估定界符中执行JavaScript,并在转义定界符中执行HTML-escape数据的插值属性。此外,数据属性作为自由变量在模板中检索。

用法:

_.template( string, options )

参数: 此方法接受上面提到和下面描述的两个参数:

  • string:它是将用作模板的字符串。它是一个可选值。
  • 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);

输出:

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) " + 
    "{ %><li><b><%- students %></b></li><% }); %>"
)({ students:["Rahul", "Rohit"] }); 
  
// Displays the output 
console.log(compiled_temp);

输出:

<li><b>Rahul</b></li><li><b>Rohit</b></li>

相关用法


注:本文由纯净天空筛选整理自nidhi1352singh大神的英文原创作品 Lodash _.template() Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。