js:lodash template文件模板语法和应用

文档

语法

  • <%= VALUE %> 用来做不转义插值;
  • <%- VALUE %> 用来做 HTML 转义插值;
  • <% expression %> 用来描述 JavaScript 流程控制。

示例

创建编译模板

js 复制代码
const lodash = require('lodash')

// 创建编译模板
let compiled = lodash.template('hello <%= user %>')
let ret = compiled({ user: 'Tom' })
console.log(ret) 
// hello Tom

转义数据的值

js 复制代码
const lodash = require('lodash')

// 转义数据的值
let compiled = lodash.template('<b><%- value %></b>');
let ret = compiled({ 'value': '<script>' })
console.log(ret) 
// <b>&lt;script&gt;</b>

执行 JavaScript

js 复制代码
const lodash = require('lodash')

// 执行 JavaScript
let compiled = lodash.template(
  '<% _.forEach(users, function(user) { %><li><%- user %></li><% }); %>'
)
let ret = compiled({ users: ['Tom', 'Jack'] })
console.log(ret)
// <li>Tom</li><li>Jack</li>

应用

vue的html模板中用到html-webpack-plugin来处理模板,可以使用 lodash template 语法插入内容:
https://cli.vuejs.org/zh/guide/html-and-static-assets.html

相关推荐
刺客-Andy3 分钟前
React 第三十九节 React Router 中的 unstable_usePrompt Hook的详细用法及案例
前端·javascript·react.js
Go_going_9 分钟前
【js基础笔记] - 包含es6 类的使用
前端·javascript·笔记
为自己_带盐1 小时前
浅聊一下数据库的索引优化
开发语言·数据库·php
明月看潮生1 小时前
青少年编程与数学 02-019 Rust 编程基础 12课题、所有权系统
开发语言·青少年编程·rust·编程与数学
shengjk12 小时前
序列化和反序列化:从理论到实践的全方位指南
java·大数据·开发语言·人工智能·后端·ai编程
passionSnail2 小时前
《用MATLAB玩转游戏开发》推箱子游戏的MATLAB趣味实现
开发语言·游戏·matlab
九月TTS2 小时前
TTS-Web-Vue系列:Vue3实现内嵌iframe文档显示功能
前端·javascript·vue.js
Once_day2 小时前
C++之fmt库介绍和使用(1)
开发语言·c++·fmt
我爱加班、、2 小时前
Chrome安装最新vue-devtool插件
javascript·vue.js·chrome·vue-devtool
摆烂且佛系2 小时前
FastByteArrayOutputStream和ByteArrayInputStream有什么区别
java·开发语言