假设我有一个如下模板:
start
{{#if data}}
data
{{/if}}
end
Run Code Online (Sandbox Code Playgroud)
无论我传递给模板,它总会有两个额外的换行符:
start
data
end
Run Code Online (Sandbox Code Playgroud)
有没有办法让Handlebars不生成标签占用的换行符(不移动标签本身)?例如.
start
data
end
Run Code Online (Sandbox Code Playgroud)
我想要这个的原因是因为有些情况(比如XML),不希望换行.
例如以下内容:
<parent>
{{#each}}
<child>{{.}}</child>
{{/each}}
</parent>
Run Code Online (Sandbox Code Playgroud)
会产生
<parent>
<child>foo</child>
<child>bar</child>
</parent>
Run Code Online (Sandbox Code Playgroud)
将{{#each}},{{/ each}}折叠到一行会导致Handlebars在一行上生成列表.例如,这个:
<parent>
{{#each}}<child>{{.}}</child>{{/each}}
</parent>
Run Code Online (Sandbox Code Playgroud)
会产生
<parent>
<child>foo</child><child>bar</child>
</parent>
Run Code Online (Sandbox Code Playgroud)
因此,为了生成没有多余换行符的XML,我的模板最终看起来像这样:
<parent>{{#each}}
<child>{{.}}{{/each}}
</parent>
Run Code Online (Sandbox Code Playgroud)
谢谢!
Pat*_*ell 12
看到这个问题.尝试将swung破折号添加到括号中,例如{{> partial~}}而不是{{> partial}},这将删除换行符.在你的情况下,它将是:
start
{{#if data ~}}
data
{{/if ~}}
end
Run Code Online (Sandbox Code Playgroud)
哪个会编译为:
start
data
end
Run Code Online (Sandbox Code Playgroud)