gpt4 book ai didi

html - Nuxt : Head function not working for title or meta tags

转载 作者:行者123 更新时间:2023-12-03 06:42:03 25 4
gpt4 key购买 nike

我有一个用 Nuxt 构建的网页,对于不同的页面,我希望头部有不同的标题和不同的元描述。我该怎么做呢?

我在 Nuxt 文档中找到了 head() 方法,但这似乎对我不起作用。

在我的 contact.vue 中:

export default class Contact extends Vue {
head() {
return {
title: 'Contact page',
meta: [
{ hid: 'description', name: 'description', content: 'This is a contact page' }
]
}
}
}

在我的 nuxt.config.js 中:
head: {
title: 'My website',
meta: [
{ charset: 'utf-8' },
{ name: 'viewport', content: 'width=device-width, initial-scale=1' },
{ hid: 'description', name: 'description', content: process.env.npm_package_description || '' }
],
}

根据文档,我希望这会生成元标记。但它只显示在 nuxt.config.js 中声明的标题和元描述。我在这里缺少什么?

最佳答案

我想到了。
在组件中,我将 head 方法放在类中。这没有用。当我把它放在组件装饰器中时,像这样:

 @Component({
head(): object {
return {
title: this.$i18n.t('meta.home.title'),
meta: [
{
hid: 'description',
name: 'description',
content: this.$i18n.t('meta.home.description')
},
]
}
}
})
export default class Home extends Vue {
...
}

它确实有效。

起初我有一个错误
Object literal may only specify known objects and 'head' does not exist in type 'ComponentOptions'

这是通过像这样扩展 ComponentOptions 来解决的:
 declare module "vue/types/options" {
interface ComponentOptions<V extends Vue> {
head?: etc etc
}
}

关于html - Nuxt : Head function not working for title or meta tags,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58013461/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com