Maison  >  Questions et réponses  >  le corps du texte

Afficher les noms de variables Vue meta i18n au lieu des valeurs

<p>J'ai un projet vue2 et j'utilise vue-meta et vue-i18n pour localiser le projet. Dans les favoris de mon navigateur, le titre de la page Web n'est pas affiché, mais la variable est affichée. Le même problème se produit dans Google Analytics, il semble afficher la variable au lieu de la valeur de la variable. </p> <p>Voici l'extrait de code de mon composant Home : </p> <pre class="brush:php;toolbar:false;">nom : 'Accueil', métaInfo () { retour { titre : this.$t("home.meta.title"), méta : [{ nom : "description", contenu : this.$t("home.meta.descriptioncontent") }, { nom : "mots-clés", contenu : this.$t("home.meta.keywordscontent") }, { propriété : 'og:title', contenu : this.$t("home.meta.title")}, { propriété : 'og:site_name', contenu : 'www.examplesite.se'}, { propriété : 'og:description', contenu : this.$t("home.meta.descriptioncontent")}, { propriété : 'og:type', contenu : 'Accueil'}, { propriété : 'og:url', contenu : 'https://examplesite.se/'}, { propriété : 'og:image', contenu : 'https://www.examplesite.se' + '/img/' + 'example_logo_social.png'} ] } }, données() { retour { dossier fimage : '../../Images/', dossier bimage : '../../fImages/', } ; },</pré> <p>Donc, cette variable.$t("home.meta.title") stocke les traductions suédoises et anglaises. À l'intérieur du site, le titre correct est affiché dans les deux langues, mais Google Analytics n'affiche que "home.meta.title". </p> <p>D'après ce que j'ai compris, le robot d'exploration ne peut pas voir les valeurs de mes variables car aucun script n'est chargé. Des idées? </p>
P粉510127741P粉510127741420 Il y a quelques jours490

répondre à tous(1)je répondrai

  • P粉448346289

    P粉4483462892023-08-27 00:51:43

    Ce serait bien de voir une partie de votre code afin que nous puissions comprendre comment vous l'avez configuré, sinon nous serions un peu dans le flou et aurions du mal à vous aider. Il s’agit donc plus d’un commentaire que d’une réponse, mais je vais partager du code qui pourrait aider et qui ne peut pas être mis dans un commentaire.

    Je suppose que vous utilisez vue-i18n et je suppose que vous définissez vueMeta en tant qu'objet. Cependant, si vous le définissez comme fonction, vous pouvez accéder à d'autres données de composants, notamment this.$t. Ils devraient travailler ensemble comme ceci :

    <template>
    <div>
        <p>这个页面的标题应该是“Translated Title”。</p>
    </div>
    </template>
    
    <script>
    export default {
        metaInfo () {
            return {
                title: this.$t('title')
            }
        }
    }
    </script>
    
    <i18n>
    {
        "en": {
            "title": "Translated Title"
        }
    }
    </i18n>

    répondre
    0
  • Annulerrépondre