灰尘.js转义字符

Dust.js escape characters

本文关键字:转义字符 js 灰尘      更新时间:2023-09-26

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

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

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

默认情况下,

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

  • 使用 <br> 元素添加分隔符
  • 将div 上的样式设置为whitespace: pre;

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

如果要呈现为 HTML,则需要使用 <br> 标记而不是换行符。

你应该使用:

dust.optimizers.format = function(ctx, node) { return node };

看看 https://github.com/linkedin/dustjs/wiki/Dust-Tutorial#controlling-whitespace-suppression