2016-05-15 15 views
0

に新しい行をしていない私のフロントエンドは、ファイルシステムからJSONデータを取得し、JavaScriptのの文字列を使用して<br/>タグ正しくHTML

"Lorem Ipsum <br /> Lorem IpsumLorem IpsumLorem IpsumLorem IpsumLorem IpsumLorem IpsumLorem IpsumLorem IpsumLorem IpsumLorem IpsumLorem IpsumLorem IpsumLorem IpsumLorem IpsumLorem IpsumLorem Ipsum " 

に以下のデータ

"Lorem Ipsum \r\n Lorem IpsumLorem IpsumLorem IpsumLorem IpsumLorem IpsumLorem IpsumLorem IpsumLorem IpsumLorem IpsumLorem IpsumLorem IpsumLorem IpsumLorem IpsumLorem IpsumLorem IpsumLorem Ipsum " 

を形成変換する方法を置き換えます。

この文字列を適切な改行でhtml形式で次のように表示したいとします。ここ

"Lorem Ipsum 
Lorem IpsumLorem IpsumLorem IpsumLorem IpsumLorem IpsumLorem IpsumLorem IpsumLorem IpsumLorem IpsumLorem IpsumLorem IpsumLorem IpsumLorem IpsumLorem IpsumLorem IpsumLorem Ipsum " 

は、ビューのコードである:

<label>{{ formatJSON(string) }}</label> 

formatJSON<br/>は、基本的に\r\nを変更角度の関数です。

これを正しく行うにはどうすればよいですか?

+1

角度表現のみがテキストを出力します。 'ng-bind-html'を使い、ngSanitizeをappに含めなければなりません。 'ng-bind-html'に関する他の同様の記事がたくさんあり、' $ sce'に関連するドキュメントを読む – charlietfl

+0

@charlietfl私に例を挙げてもらえますか? – Jokingpsh

+0

ドキュメントの例https://docs.angularjs.org/api/ng/directive/ngBindHtml – charlietfl

答えて

0

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

<label ng-bind-html="formatJSON(string)"></label> 
+0

コントローラに「$ sanitize」を追加する必要はありますか?このようにすると、すべての文字列がビューに表示されません。 – Jokingpsh

+0

はい、あります。それは私が提供したリンク上にあると言います。 – inafalcao