Javascript Handlebarjs消除空白处理,但需要在一个字后保留一个
我将HandlebarsJS 3.0与木偶框架结合使用,并使用Javascript Handlebarjs消除空白处理,但需要在一个字后保留一个,javascript,handlebars.js,Javascript,Handlebars.js,我将HandlebarsJS 3.0与木偶框架结合使用,并使用~符号删除不需要的空格/换行符。但输出不是预期的,示例代码如下: <h3>Total {{~#if mod}} {{mod}} {{~else~}} Modal {{~/if~}} </h3> 总计 {{{#if mod}} {{mod}} {{~else~} 情态动词 {{{/if}} 预期输出:总模式 实际输出:TotalModal 可以在每个单词后面加一个空格吗 更新: 如果我从else语句中删除
~
符号删除不需要的空格/换行符。但输出不是预期的,示例代码如下:
<h3>Total
{{~#if mod}}
{{mod}}
{{~else~}}
Modal
{{~/if~}}
</h3>
总计
{{{#if mod}}
{{mod}}
{{~else~}
情态动词
{{{/if}}
- 预期输出:总模式
- 实际输出:TotalModal
else
语句中删除~,结果如下:是否可以避免空格之间出现空格
我修复了您的共享空间问题,方法是从if条件中删除左侧的波浪线,并在“Total”之后添加一个空格 如果不需要任何前导空格或尾随空格,则必须将整个模板放在一行上
createTplNode(document.body,parseTpl(“#modal”){
国防部:错
});
函数parseTpl(选择器){
返回handlebar.compile(document.querySelector(selector.innerHTML);
}
函数createTplNode(父级、tpl、数据){
var el=document.createElement('DIV');
父母、子女(el);
el.outerHTML=tpl(数据);
返回el;
}
总计{{{if mod}}{{mod}{{~else}}}模态{{{~/if}}
以前我不得不删除空白/压缩我的Handelbar模板。我已经运行此任务很长一段时间了(但是我预编译了我的模板),我们基本上通过此函数压缩模板字符串:
function compressHB(content) {
"use strict";
return content.replace(/\s{2,}/g,"").replace(/\n/g,"").replace(/\t/g,"");
}
它可以删除任何连续的空格、换行符和制表符。
如果单词之间有两个空格,则会删除它们之间的所有空格,因此您必须确保没有多余的空格(拼写错误)。您能看看我更新的问题吗?我尝试了您的修复,但屏幕截图中描述了输出。