Comment puis-je réussir à faire interpréter le HTML dans une reliure moustache? Au moment où le break ( <br />
) est juste affiché / échappé.
Petite application Vue:
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 }
]
}
})
Et voici le modèle:
<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
la source
la source
Réponses:
À partir de Vue2, les triples accolades sont obsolètes, vous devez les utiliser
v-html
.<div v-html="task.html_content"> </div>
Le lien de documentation ne permet pas de savoir ce que nous sommes censés placer à l'intérieur
v-html
, vos variables y vontv-html
.En outre,
v-html
fonctionne uniquement avec<div>
ou<span>
mais pas avec<template>
.Si vous souhaitez voir cela en direct dans une application, cliquez ici .
la source
<template>
" est la partie importante ici si vous venez d'Angular.js et recherchez quelque chose comme<ng-include>
Vous pouvez utiliser la directive v-html pour l'afficher. comme ça:
la source
Vous pouvez le lire ici
Si tu utilises
il sera échappé. Si vous voulez du HTML brut, vous devez utiliser
EDIT (5 février 2017): Comme le souligne @hitautodestruct, dans la vue 2, vous devez utiliser v-html au lieu de triples accolades.
la source
Vue par défaut est livré avec la directive v-html pour l'afficher, vous le liez à l'élément lui-même plutôt que d'utiliser la liaison moustache normale pour les variables de chaîne.
Donc, pour votre exemple spécifique, vous auriez besoin de:
la source
Vous devez utiliser la directive v-html pour afficher le contenu html dans un composant vue
la source