显示Vue meta i18n变量名称而非值
P粉510127741
P粉510127741 2023-08-26 18:52:56
0
1
548
<p>我有一个vue2项目,使用了vue-meta和vue-i18n来本地化项目。 在我的浏览器书签中,网页的标题没有显示出来,而是显示了变量。在谷歌分析中也出现了相同的问题,似乎显示了变量而不是变量中的值。</p> <p>这是我Home组件的代码片段:</p> <pre class="brush:php;toolbar:false;">name: 'Home', metaInfo () { return { title: this.$t("home.meta.title"), meta: [{ name: "description", content: this.$t("home.meta.descriptioncontent") }, { name: "keywords", content: this.$t("home.meta.keywordscontent") }, { property: 'og:title', content: this.$t("home.meta.title")}, { property: 'og:site_name', content: 'www.examplesite.se'}, { property: 'og:description', content: this.$t("home.meta.descriptioncontent")}, { property: 'og:type', content: 'Home'}, { property: 'og:url', content: 'https://examplesite.se/'}, { property: 'og:image', content: 'https://www.examplesite.se' + '/img/' + 'example_logo_social.png'} ] } }, data() { return { fimagefolder: '../../Images/', bimagefolder: '../../fImages/', }; },</pre> <p>所以this.$t("home.meta.title")变量存储了瑞典语和英语的翻译。在网站内部,它显示了两种语言的正确标题,但是谷歌分析只显示了"home.meta.title"。</p> <p>据我所了解,爬虫程序由于没有加载任何脚本,无法看到我的变量值。有什么想法吗?</p>
P粉510127741
P粉510127741

全部回复(1)
P粉448346289

看到一些你的代码会很好,这样我们就能了解你是如何设置的,否则我们就有点蒙了,很难帮助你。所以,这更像是一条评论而不是一个答案,但我会分享一些可能有帮助的代码,而这些代码无法放在评论中。

我假设你正在使用vue-i18n,并且我猜你正在将vueMeta定义为一个对象。然而,如果你将其定义为一个函数,你就可以访问其他组件数据,包括this.$t。它们应该像这样一起工作:

<template>
<div>
    <p>这个页面的标题应该是“Translated Title”。</p>
</div>
</template>

<script>
export default {
    metaInfo () {
        return {
            title: this.$t('title')
        }
    }
}
</script>

<i18n>
{
    "en": {
        "title": "Translated Title"
    }
}
</i18n>
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板