Mustache.compile()
、Mustache.parse()
和Mustache.render()
在新版的mustache.js 0.5.0中有什么区别?或者说,解析和编译一般来说有什么不同?
Mustache.compile()
、Mustache.parse()
和Mustache.render()
在新版的mustache.js 0.5.0中有什么区别?或者说,解析和编译一般来说有什么不同?
编辑
自版本0.8.0引入API更改,compile()
方法已被集成到parse()
中。不再需要手动编译模板。
Mustache.parse()
Mustache.compile()
parse()
返回的函数体来创建一个实际的 JavaScript 函数。创建的函数会被放置在缓存中以便重复使用。
Mustache.render()
compile()
创建的模板),并将其应用于实际数据。这将创建用于显示在屏幕上的结果。小贴士: Mustache.parse(template)
是可选项,可以加快未来使用模板的速度。其在你想要以一组(大量)数据重复使用模板时非常有用。如果不是这种情况,只需调用 Mustache.render()
生成最终结果即可。
一些额外的内容:
如果您使用自定义分隔符(而不是{{
和}}
),则可以在调用带有自定义分隔符作为参数的Mustache.render
之前使用Mustache.parse
。
例如:
var template = "<h1>Hello {{$name$}}</h1>"
var customTags = [ '{{$', '$}}' ];
Mustache.parse(template, cutomTags);
var result = Mustache.render(template, { name: "John" };
console.log(result);
将导致:
Hello John