Dust.js转义字符

时间:2012-04-10 18:37:55

标签: javascript dust.js

我正在尝试打印换行符,根据Dust.js指南,在模板中我在每个记录输出的末尾有一个{~n}

{#friends} {name}, {age}{~n}{/friends}

我编译了上面的模板并使用几个JSON记录进行渲染以生成'out'对象。我正在使用document.getElementById('divID')。innerHTML在基本DIV标记中动态替换'out'对象。问题是尽管{~n},我仍无法打印换行符。我也试过{~r},但还是没有运气。有什么想法吗?

3 个答案:

答案 0 :(得分:3)

默认情况下,HTML会将相邻的空格(包括换行符)折叠到一个空格中。对于大多数元素,默认情况下a worda \n word(或a \r worda \r\n word)之间没有区别。解决方案是:

或者,您可以使用一个列表(对于您的用例可能更具语义,应该是首选)。

答案 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