我正在开发docx模板应用程序。
var data={ firstname:"david", age: 12}
var template= " {{firstname}} is {{age}} years old."
通常情况下,使用上述数据和模板将呈现:
david is 12 years old.
在我的情况下,模板字符串将首先用Microsoft Word编写,然后我将使用getOOxml命令(office.js库),这样的内容将被返回。
var template = "<w:t>{{</w:t><w:t>firstname</w:t><w:t>}}</w:t> is <w:t>{{</w:t><w:t>age</w:t><w:t>}}</w:t> years old."
我使用getOOxml而不是getText命令的原因是OOxml可以包含格式信息,但Text不能。
我想使用javascript模板引擎进行渲染,但<w:t>
标记会阻止模板引擎工作。
是否有javascript模板引擎可以进入<w:t>
?
答案 0 :(得分:0)
在运行handlebars.js或您正在使用的任何预处理器之前,使用正则表达式删除这些标记。
var source = "<w:t>{{</w:t><w:t>firstname</w:t><w:t>}}</w:t> is <w:t>{{</w:t><w:t>age</w:t><w:t>}}</w:t> years old.";
// Remove those tags.
source = source.replace(/\<w\:t\>/g, "").replace(/\<\/w\:t\>/g, "");
// Run your template through your pre-processor.
var template = Handlebars.compile(source);