angularjsで改行を保持する

これ]1のSO問題を見たことがあります。

私のコードでは、ng-bind="item.desc"の代わりに、{{item.desc}}を使用しています。

ですから、私のコードは

<div ng-repeat="item in items">
  {{item.description}}
</div>

アイテムの説明文には、改行のための`nが含まれていますが、これはレンダリングされません。

上記の ng-repeat を前提に、{{item.description}} で改行を簡単に表示するにはどうしたらいいでしょうか?

試してみてください。

<div ng-repeat="item in items">
  <pre>{{item.description}}</pre>
</div>

ラッパーは <pre> で、`` をテキストとして表示します。

また、jsonを表示する場合は、jsonフィルターを使うと見やすくなります。

<div ng-repeat="item in items">
  <pre>{{item.description|json}}</pre>
</div>

視聴者の皆様には、ご理解とご協力をお願いいたします。

私は @Paul Weber さんの white-space: pre-wrap; がより良いアプローチであることに同意しますが、いずれにしても <pre> を使うのが手っ取り早い方法です。

解説 (5)

そうでなければ、bind-htmlを使って、description.replace(/\\/g, '<br>')を実行します。 でも、それがあなたの望むものかどうかはわかりません。

解説 (0)

はい、<pre>タグを使うか、.replace()を使って/n<br />に変更した後、ng-bind-html-unsafe http://docs-angularjs-org-dev.appspot.com/api/ng.directive:ngBindHtmlUnsafe(1.2+を使用している場合はng-bind-htmlを使用)を使います

解説 (1)