Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/451.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Handlebarjs消除空白处理,但需要在一个字后保留一个_Javascript_Handlebars.js - Fatal编程技术网

Javascript Handlebarjs消除空白处理,但需要在一个字后保留一个

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语句中删除

我将HandlebarsJS 3.0与木偶框架结合使用,并使用
~
符号删除不需要的空格/换行符。但输出不是预期的,示例代码如下:

<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,"");
}
它可以删除任何连续的空格、换行符和制表符。
如果单词之间有两个空格,则会删除它们之间的所有空格,因此您必须确保没有多余的空格(拼写错误)。

您能看看我更新的问题吗?我尝试了您的修复,但屏幕截图中描述了输出。