Hogan.js 互动版

在线工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器

Lambdas表达式

当值是可调用的对象,例如function或者lambda,那么对象会被调用并且跳过文本。

被跳过的文字不进行渲染。{{tags}}将不会被展开——由lambda自身来决定。通过这种方式,可以实现过滤器以及缓存。

模板 :

{{#wrapped}}
  {{name}} is awesome.
{{/wrapped}}

Hash - data绑定数据:

{
  "name": "Willy",
  "wrapped": function() {
    return function(text) {
      return "<b>" + text + "</b>"
    }
  }
}

输出 - render()渲染输出结果:

var output = template.render(data);   
console.log(output);
<b>Willy is awesome.</b>

在这里wrapped值为function,对象被调用。