Maison  >  Article  >  interface Web  >  Comment supprimer les étiquettes des éléments imprimés dans Vue

Comment supprimer les étiquettes des éléments imprimés dans Vue

PHPz
PHPzoriginal
2023-04-11 15:09:451108parcourir

Dans Vue, nous utilisons souvent {{ }} pour présenter les données qui doivent être affichées sur la page. Cependant, lorsque nous imprimons les données de réponse dans Vue, certaines balises HTML apparaissent parfois dans les balises. Ainsi, dans cet article, nous expliquerons comment supprimer ces marques.

Tout d'abord, nous devons savoir pourquoi les balises HTML apparaissent lors de l'impression des données de réponse dans Vue. La raison en est que la syntaxe du modèle dans Vue est basée sur HTML Lorsque nous utilisons {{ }}, Vue remplira automatiquement les balises HTML avec les données que nous souhaitons afficher. Par exemple :

<div>{{ message }}</div>

Dans l'exemple ci-dessus, Vue remplira la valeur "message" dans la balise

Si notre valeur "message" est une chaîne contenant des balises HTML, alors ces balises seront également renseignées dans la balise
.

Pour résoudre ce problème, nous pouvons utiliser la directive v-html fournie dans Vue. Cette directive nous permet de restituer le balisage HTML directement dans Vue. Par exemple :

<div v-html="message"></div>

Dans l'exemple ci-dessus, Vue restituera directement la valeur de "message" dans une balise HTML et l'affichera dans la balise

Cependant, il convient de noter qu'il existe certains risques de sécurité lors de l'utilisation de la directive v-html, car elle permet aux utilisateurs d'injecter des scripts ou des balises HTML malveillants. Par conséquent, des mesures de sécurité doivent être prises lors de l’utilisation de la directive v-html.

De plus, si nous souhaitons simplement afficher du texte brut au lieu du balisage HTML, nous pouvons utiliser un attribut appelé innerText. Cet attribut récupère le contenu en texte brut d'un élément et ignore les balises HTML qu'il contient. Par exemple :

<div id="myDiv"><span>Hello</span> world!</div>

<script>
  const div = document.querySelector("#myDiv");
  console.log(div.innerText); // 输出 "Hello world!"
</script>

Dans l'exemple ci-dessus, nous définissons d'abord une balise

avec des balises HTML et lui attribuons une valeur d'ID. Ensuite, en JavaScript, nous utilisons querySelector pour obtenir la balise
, et utilisons l'attribut innerText pour obtenir son contenu en texte brut et l'imprimer sur la console.

En résumé, nous pouvons supprimer les balises HTML dans les données de réponse dans Vue via la directive v-html ou l'attribut innerText. Cependant, faites attention à la sécurité lorsque vous utilisez la directive v-html pour vous assurer que les utilisateurs ne sont pas autorisés à injecter des scripts ou des balises HTML malveillants.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn