使用JsRender时不要输出空行

时间:2016-01-06 15:48:48

标签: node.js template-engine jsrender

我在while((h!=m) || (l!=n)) 中使用JsRender 如果给出一个示例数据:

Node.js

一个模板:

{
    "items": [
        {"name":"Alf", display:false},
        {"name":"Bruno", display:true}
    ]
}

我明白了:

{{* index=0; }}
{{for items}}
{{if display}}
name[{{*: index; }}] = "{{: name }}";
{{* index++; }}
{{/if}}
{{/for}}

正如你所看到的那样,对于模板的每一行我都没有输出任何东西。 有没有办法阻止//empty line //empty line //empty line //empty line //empty line name[0] = "Bruno"; //empty line //empty line //empty line 输出这些空行?

1 个答案:

答案 0 :(得分:1)

JsRender将输出模板中的任何空白字符。

无法猜出你想要哪些以及你不想要哪些。 (说得好笑,人们可以说:把废话放进去,废话!)。

例如:

{{for items}}{{:name}}{{/for}}

将输出

"AlfBruno"

{{for items}}{{:name}} {{/for}}

将输出

"Alf Bruno "

{{for items}}{{:name}}
{{/for}}

将输出

"Alf\nBruno\n"

因此,如果您根本不需要任何换行符,可以编写

{{* index=0; }}{{for items}}{{if display}}name[{{*: index; }}] = "{{:name}}";{{* index++; }}{{/if}}{{/for}}

或者如果您愿意

{{* index=0;
}}{{for items
}}{{if display
}}name[{{*: index; }}] = "{{:name}}";{{* index++;
}}{{/if}}{{/for}}