Vue.jsのv-text
で文字列を表示するとき、文字文字\n文字
のようにエスケープシーケンスがそのまま表示されてしまいます。(v-html
でも同じでした)
ネットで調べ、以下のようなメソッドを通したのですが結果は変わらず。
html
1<span v-text="newlineConvert(message)">
typescript
1newlineConvert: function(value: string){ 2 var str: string = value.replace(/\r\n/g, "<br />"); 3 str = str.replace(/(\n|\r)/g, "<br />"); 4 return str; 5}
(messageはv-forでmessagesが回ってます。)
Vue.jsのバージョンが2.0以前ではv-html
でnl2br
というフィルタが使えたようですが、現在は使えないようです。
また、CSSでwhite-space: pre;
をあててもだめでした。
なにか解決策はないでしょうか?
追記
UI作るのにVuetify.jsを使っていて、それが影響しているかもしれないので調べてみます。
追記2
バックエンドがPythonで、Requestsを使ってAPIを叩き、そこからDjangoでJsonResponse(data.json())
をしているので、これが原因かもしれません。
<>
などの不等号記号もサニタイズされてしまっているので・・・
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/04/14 05:24