0
votes

Comment utiliser le script en vue

Je ne suis pas très bon en anglais, je décrirai le problème aussi clairement que possible.

Syntax Error: SyntaxError: /Users/sinx/development/cxz/src/views/Index.vue: Unterminated template (33:19)

La console rapportera cette erreur:

 <template>
  <div class="Index">
    <div
      class="content"
      v-html="content"
    ></div>
  </div>
</template>
export default {
  data() {
    return {
      content: '',

    }
  },
  mounted() {
   // This data is returned by axios,This is rich text with lots of tags, including script
   this.content="<p>1111</p><div>222<div><script>alert() //There is a lot of code here.</script>"
 }
}


1 commentaires

Bonjour, bienvenue dans stack overflow :) Il semble que votre code JS devrait être dans une balise de script comme


4 Réponses :


0
votes

Utilisez axios ...

La fonction axios.get utilise une promesse. Lorsque l'API renvoie les données avec succès, le code dans le bloc then est exécuté.

   mounted() {
      axios.get(url).then(response => {
        this.results = response.data
      })
   }

Voici le lien Utilisation d'Axios pour consommer des API du site officiel.


1 commentaires

Merci, Ce n'est pas un problème avec axios. Les données que j'ai envoyées sont transmises à l'aide d'axios.



0
votes

Assurez-vous d'inclure votre code js dans les balises de scripts, comme ci-dessous;

<script> include </script>

Cela devrait résoudre votre problème.


0 commentaires

0
votes

vous devriez mettre tous vos JS dans la balise script. La structure de base d'une application Vue est la suivante.

<template>
   //Your html here
</template>
<script>
  export default {
     data(){
        return {
           content : ""
         }
      },
     mounted(){
         axios.get(url).then(response => {
           this.content = response.data     //depends on the structure of response
         }).then(error => {
           console.log(error);
          });
        }
      }
<script>

J'espère que cela vous aidera :)


0 commentaires

0
votes

Trouvez le problème, si vous voulez rendre du texte riche, en particulier du texte riche avec une balise srcipt, la balise doit être échappée. Mais, bien que v-html puisse rendre les balises, mais ne puisse pas exécuter le contenu du script, si je veux savoir comment exécuter le contenu du script, j'ai un moyen.


0 commentaires