我想打印一個換行符和每個Dust.js指南,模板我有個{〜N}Dust.js轉義字符
{#friends} {name}, {age}{~n}{/friends}
我編譯上面的模板,並使用一對JSON記錄來生成'out'對象。我正在使用document.getElementById('divID')。innerHTML在基本DIV標記中動態替換'out'對象。問題是我無法打印換行符,儘管{〜n}。我也嘗試過{〜r},但仍然不幸運。有什麼想法嗎?
我想打印一個換行符和每個Dust.js指南,模板我有個{〜N}Dust.js轉義字符
{#friends} {name}, {age}{~n}{/friends}
我編譯上面的模板,並使用一對JSON記錄來生成'out'對象。我正在使用document.getElementById('divID')。innerHTML在基本DIV標記中動態替換'out'對象。問題是我無法打印換行符,儘管{〜n}。我也嘗試過{〜r},但仍然不幸運。有什麼想法嗎?
默認情況下,HTML會將相鄰的空格(包括換行符)摺疊到一個空格中。 a word
和a \n word
(或a \r word
或a \r\n word
就此而言)在默認情況下對於大多數元素沒有區別。解決的辦法是要麼:
<br>
元素添加破whitespace: pre;
或者,您也可以使用列表(這可能是更語義爲你的用例,應該是首選)。
如果您以HTML格式呈現,則需要使用<br>
標記而不是換行符。
你應該使用:
dust.optimizers.format = function(ctx, node) { return node };
看https://github.com/linkedin/dustjs/wiki/Dust-Tutorial#controlling-whitespace-suppression
並且一定要在之前調用它'dust.compileFn()':) – shane 2014-07-19 16:22:57
應用於您的兩個建議,它的工作 - THX – Noosphere 2012-04-10 18:53:40
不知道空白的':前;'這是很酷保持HTML乾淨以及在模板呈現之前需要額外的邏輯。我寧願使用'whitespace:pre-wrap'或'whitespace:pre-line',因爲我不想讓長字符串/單詞突破容器。謝謝。 – 2012-12-04 18:10:39