template
最后更新于:2022-04-02 00:07:36
## template
+ [link](./template "Link to this entry.")
+ [source](https://github.com/lodash/lodash/blob/4.5.0正式版/lodash.src.js#L12648 "View in source.")
+ [npm](https://www.npmjs.com/package/lodash.template "See the npm package.")
```
_.template([string=''], [options])
```
创建一个预编译模板方法,可以插入数据到模板中 "interpolate" 分隔符相应的位置。 HTML会在 "escape" 分隔符中转换为相应实体。 在 "evaluate" 分隔符中允许执行JavaScript代码。 在模板中可以自由访问变量。 如果设置了选项对象,则会优先覆盖 `_.templateSettings` 的值。
**注意:** 在开发过程中可以使用 [sourceURLs](http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl) 便于调试。
了解更多预编译模板的信息查看 [lodash的自定义构建文档](https://lodash.com/custom-builds)
了解更多 Chrome 沙箱扩展的信息查看 [Chrome的扩展文档](https://developer.chrome.com/extensions/sandboxingEval)
### 参数
1. [string=''] (string)
模板字符串
2. [options] (Object)
选项对象
3. [options.escape] (RegExp)
"escape" 分隔符
4. [options.evaluate] (RegExp)
"evaluate" 分隔符
5. [options.imports] (Object)
导入对象到模板中作为自由变量
6. [options.interpolate] (RegExp)
"interpolate" 分隔符
7. [options.sourceURL] (string)
模板编译的来源URL
8. [options.variable] (string)
数据对象的变量名
### 返回值 (Function)
返回编译模板函数
### 示例
```
// 使用 "interpolate" 分隔符创建编译模板
var compiled = _.template('hello <%= user %>!');
compiled({ 'user': 'fred' });
// => 'hello fred!'
// 使用 HTML "escape" 转义数据的值
var compiled = _.template('<%- value %>');
compiled({ 'value': '
';