我正在尝试打印换行符,根据Dust.js指南,在模板中我在每个记录输出的末尾有一个{~n}
{#friends} {name}, {age}{~n}{/friends}
我编译了上面的模板并使用几个JSON记录进行渲染以生成'out'对象。我正在使用document.getElementById('divID')。innerHTML在基本DIV标记中动态替换'out'对象。问题是尽管{~n},我仍无法打印换行符。我也试过{~r},但还是没有运气。有什么想法吗?
答案 0 :(得分:3)
默认情况下,HTML会将相邻的空格(包括换行符)折叠到一个空格中。对于大多数元素,默认情况下a word
和a \n word
(或a \r word
或a \r\n word
)之间没有区别。解决方案是:
<br>
元素添加中断whitespace: pre;
或者,您可以使用一个列表(对于您的用例可能更具语义,应该是首选)。
答案 1 :(得分:2)
如果您要以HTML格式呈现,则需要使用<br>
代码而不是换行符。
答案 2 :(得分:0)
您应该使用:
dust.optimizers.format = function(ctx, node) { return node };
查看https://github.com/linkedin/dustjs/wiki/Dust-Tutorial#controlling-whitespace-suppression