3

私は改行を印刷しようとしていますが、Dust.js ガイドに従って、テンプレートには各レコード出力の最後に {~n} があります

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

上記のテンプレートをコンパイルし、'out' オブジェクトを生成するためにいくつかの JSON レコードでレンダリングしています。document.getElementById('divID').innerHTML を使用して、基本的な DIV タグで「out」オブジェクトを動的に置き換えています。問題は、{~n} にもかかわらず、改行を印刷できないことです。{~r} も試しましたが、うまくいきません。何かご意見は?

4

3 に答える 3

4

デフォルトでは、HTML は隣接する空白 (改行文字を含む) を 1 つのスペースにまとめます。ほとんどの要素では、デフォルトでa wordand a \n word(or a \r wordor or ) に違いはありません。解決策は次のいずれかです。a \r\n word

  • 要素を使用し<br>てブレークを追加する
  • div のスタイルを次のように設定しますwhitespace: pre;

別の方法として、リストを使用することもできます (これはおそらく、ユース ケースにとってよりセマンティックであり、優先する必要があります)。

于 2012-04-10T18:42:53.667 に答える
2

HTML として表示する場合<br>は、改行の代わりにタグを使用する必要があります。

于 2012-04-10T18:42:43.190 に答える
0

以下を使用する必要があります。

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

https://github.com/linkedin/dustjs/wiki/Dust-Tutorial#controlling-whitespace-suppressionを見て ください。

于 2013-04-17T08:25:35.493 に答える