📜  Lodash _.template() 方法

📅  最后修改于: 2022-05-13 01:56:24.041000             🧑  作者: Mango

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