2012-04-10 4 views
2

私は改行を印刷しようとしているとDust.jsガイドごとに、私は各レコード出力Dust.jsは文字

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

の最後に{〜n}が持っているテンプレートで、私はコンパイルを逃れます上記のテンプレートを使用して、 'out'オブジェクトを生成するためにいくつかのJSONレコードでレンダリングしています。私はdocument.getElementById( 'divID')。innerHTMLを使って、 'out'オブジェクトを基本的なDIVタグで動的に置き換えています。問題は、{〜n}の改行呪文を印刷できません。私も{@ r}を試みましたが、まだ運がありません。何かご意見は?

答えて

3

HTMLは、デフォルトでは、隣接する空白(改行文字を含む)を単一のスペースに縮小します。 a worda \n word(またはその点についてはa \r wordまたはa \r\n word)の間に違いはありません。デフォルトでは要素です。解決策は、どちらかにある:

代わりになるためにあなたのdivにスタイルを設定したブレーク

  • を追加する<br>要素を使用して、あなたはおそらくもっとあるリストを(使用することができますあなたのユースケースのセマンティックであり、望ましいものでなければなりません)。

  • +0

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

    ルックは、ご提案の両方を適用し、それが働いた - THX – Noosphere

    +0

    は空白 'を知りませんでした:事前;'それはきれいなHTMLを保つためにかなりクールですテンプレートレンダリングの前に余分なロジックが必要になります。長い文字列や単語がコンテナから抜けてしまわないように、私はむしろ '空白:プレラップ'や '空白:プレライン'を使用したいと思います。どうも。 –

    2

    HTMLでレンダリングする場合は、改行の代わりに<br>タグを使用する必要があります。

    関連する問題