Wie kann ich es schaffen, HTML in einer Schnurrbartbindung zu interpretieren? Im Moment wird die break ( <br />
) nur angezeigt / maskiert.
Kleine Vue App:
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 }
]
}
})
Und hier ist die Vorlage:
<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>
javascript
html
vue.js
Mike
quelle
quelle
Antworten:
Beginnend mit Vue2 waren die dreifachen Klammern veraltet, die Sie verwenden sollen
v-html
.<div v-html="task.html_content"> </div>
Aus dem Dokumentationslink geht nicht hervor , was wir darin platzieren
v-html
sollen. Ihre Variablen gehen hineinv-html
.Funktioniert auch
v-html
nur mit<div>
oder<span>
aber nicht mit<template>
.Wenn Sie dies live in einer App sehen möchten, klicken Sie hier .
quelle
<template>
" ist hier der wichtige Teil, wenn Sie von Angular.js kommen und nach etwas suchen wie<ng-include>
Sie können die Direktive v-html verwenden, um es anzuzeigen. so was:
quelle
Das können Sie hier lesen
Wenn du benutzt
es wird entkommen. Wenn Sie rohes HTML wollen, müssen Sie verwenden
BEARBEITEN (5. Februar 2017): Wie @hitautodestruct hervorhebt, sollten Sie in Version 2 v-html anstelle von dreifach geschweiften Klammern verwenden.
quelle
Vue wird standardmäßig mit der v-html-Direktive geliefert, um es anzuzeigen. Sie binden es an das Element selbst, anstatt die normale Schnurrbartbindung für Zeichenfolgenvariablen zu verwenden.
Für Ihr spezielles Beispiel benötigen Sie also:
quelle
Sie müssen die v-html-Direktive verwenden, um HTML-Inhalte in einer vue-Komponente anzuzeigen
quelle