本文介绍了Nuxt:SSR上未定义动态头/元标题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个nuxt项目,其中的元标题和描述(来自nuxt/content)。数据的异步获取是在索引中进行的,并通过getter在子组件中接收。

在生成时,元标记在那里,但在SSR上不在:/

我尝试使用异步并等待,但仍收到错误

(我尝试了一下,等待无用。get文章常量,希望整个事情都在等待,这个东西在那里,但是没有)

这里是我的代码:

 async head() {
    const article = await this.getArticle
    const seoTitle = await this.getArticle.seoTitle,
      title = await this.getArticle.title,
      seoDescription = await this.getArticle.description

    return {
      title: `"${
        seoTitle.length ? seoTitle : title
      }"`,
      meta: [
        {
          hid: "description",
          name: "description",
          content: `${
            seoDescription.length
              ? seoDescription.slice(0, 50)
              : seoDescription.slice(0, 50)
          }`,
        },
      ],
    };
  },

推荐答案

据我所知,您不能在async上使用async,因为它通常使用某些静电的值。

查看此github answer,您似乎可以使用asyncData访问要在head中输入的值。

head() {
  return { title: this.info.title }
},
async asyncData ({ params }) {
  return axios.get(`/post/${params.id}/info`)
    .then((res) => {
      return {
        info: res.data.info
      }
    }).catch((err) => {
      console.log(err)
  })
},

这篇关于Nuxt:SSR上未定义动态头/元标题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

06-08 14:08