小编Dan*_*Dan的帖子

如何删除Handlebars生成的换行符?

假设我有一个如下模板:

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)

谢谢!

handlebars.js

13
推荐指数
1
解决办法
5128
查看次数

标签 统计

handlebars.js ×1