2

我的应用程序中都有这种模式,如果数组中有任何元素,我希望每个块都有一个尾随换行符。所以我可以做这样的事情:

{{#each array}}
{{value}}
{{#if @last}}

{{/if}}
{{/each}}

或使用车把助手包,我可以使用任何:

{{#any array}}
{{#each array}}
{{value}}
{{/each}}

{{/any}}

然而,在我的应用程序中,模板对客户是可见的,并且随着我在模板代码中散布额外的样板文件,它变得越来越难看。

有没有人有更优雅的解决方案?

我希望车把有一个空白控制字符,我可以利用或者至少能够将那个“if”块变成一个衬里。

4

1 回答 1

0

我会使用 CSS 来做到这一点。考虑:

模板:

<div class='array-output-wrapper {{#if array}}with-items{{/if}}'>
    {{#each array}}
        {{value}}
    {{/each}}
</div>

CSS:

.array-output-wrapper.with-items:after {
    display: block;
    content: '\00a0'; // entity code for $nbsp;
}

它增加了可读性,因为输入命中生成的新行很容易被忽略。

于 2017-10-03T05:42:24.850 回答