どうやってhtmlを口ひげの束縛の中で解釈させることができますか?現時点では、ブレーク(<br />
)は単に表示/エスケープされています。
スモールビューアプリ
var logapp = new Vue({
el: '#logapp',
data: {
title: 'Logs',
logs: [
{ status: true, type: 'Import', desc: 'Learn<br />JavaScript', date: '11.11.2015', id: 1 },
{ status: true, type: 'Import', desc: 'Learn<br />JavaScript', date: '11.11.2015', id: 1 }
]
}
})
そしてここがテンプレートです
<div id="logapp">
<table>
<tbody>
<tr v-repeat="logs">
<td>{{fail}}</td>
<td>{{type}}</td>
<td>{{description}}</td>
<td>{{stamp}}</td>
<td>{{id}}</td>
</tr>
</tbody>
</table>
</div>
Vue2以降、トリプルブレースは推奨されなくなりました。v-html
を使用することになります。
<div v-html="task.html_content"> </div>
v-html
の中に何を入れるべきかについては、 ドキュメントリンク からはわかりませんが、変数はv-html
の中に入ります。
また、v-html
は<div>
または<span>
とのみ連携しますが、<template>
とは連携しません。
これをアプリ内でライブで見たい場合は、ここで をクリックしてください 。
表示するには、ディレクティブv-htmlを使用できます。このような:
<td v-html="desc"></td>
使うなら
{{<br />}}
それはエスケープされます。生のHTMLが必要な場合は、使用する必要があります。
{{{<br />}}}
EDIT(2017年2月5日):@hitautodestructが指摘するように、vue 2ではを使うべきです v-htmlトリプル中括弧の代わりに。
デフォルトでは、Vueはそれを表示するためのv-htmlディレクティブを同梱しています。文字列変数に対して通常の口ひげ束縛を使うのではなく、要素自体に束縛します。
だからあなたの具体的な例のためにあなたが必要となるでしょう:
<div id="logapp">
<table>
<tbody>
<tr v-repeat="logs">
<td v-html="fail"></td>
<td v-html="type"></td>
<td v-html="description"></td>
<td v-html="stamp"></td>
<td v-html="id"></td>
</tr>
</tbody>
</table>
</div>
vueコンポーネント内のhtmlコンテンツを表示するには、v-htmlディレクティブを使用する必要があります
<div v-html="html content data property"></div>