【问题标题】:Append API json response to MetaInfo Vue js将 API json 响应附加到 MetaInfo Vue js
【发布时间】:2021-04-22 14:02:26
【问题描述】:

我有一个类似这样结构的元标记

  metaInfo () {
    return {
      title: 'my title',
      meta: [
        {
          name: 'description',
          content: 'my description'
        },
        {
          property: 'og:title',
          content: 'my title2'
        },
        {
          property: 'og:site-name',
          content: 'my site name'
        },
        {
          property: 'og:type',
          content: 'website'
        },
        {
          name: 'robots',
          content: 'index,follow'
        }
      ]
    }

  },

我想将我的 api 响应附加到我的元标记,但我不知道如何制作这样的数据

这是我的 API 响应

data: [{meta_tags_id: 3, meta_tags_properties: "my property", meta_tags_content: "my content"}]
0: {meta_tags_id: 3, meta_tags_properties: "my property", meta_tags_content: "my content"}
meta_tags_content: "my content"
meta_tags_id: 3
meta_tags_properties: "my property"
error: 0
message: "successfully get all meta tags"

这是预期的结果 { 财产:我的财产, 内容:我的内容 } 以及如何将我的 json 响应附加到我的元信息?

【问题讨论】:

  • 还添加 API 响应数据,如果您能显示您想要的结果,那就太好了
  • 完成先生@decpk
  • 将 api 响应添加为文本而不是图片,并将所需结果添加为对象。目前还不清楚你到底想做什么。
  • 完成先生,对不起@decpk
  • 回答,这是你想要的吗?

标签: javascript json vue.js vue-meta


【解决方案1】:

由于metaInfo 是一个返回object 的函数,因此将该对象收集到容器中,即metaInfoData

映射您的data 数组并将其转换为所需格式,然后将其附加到metaInfoData.meta

const metaInfo = function () {
  return {
    title: "my title",
    meta: [
      {
        name: "description",
        content: "my description",
      },
      {
        property: "og:title",
        content: "my title2",
      },
      {
        property: "og:site-name",
        content: "my site name",
      },
      {
        property: "og:type",
        content: "website",
      },
      {
        name: "robots",
        content: "index,follow",
      },
    ],
  };
};

const data = [
  {
    meta_tags_id: 3,
    meta_tags_properties: "my property",
    meta_tags_content: "my content",
  },
];

const metaInfoData = metaInfo();
const convertedData = data.map((obj) => {
  const { meta_tags_properties, meta_tags_content } = obj;
  return {
    property: meta_tags_properties,
    content: meta_tags_content,
  };
});
metaInfoData.meta = [...metaInfoData.meta, ...convertedData];
console.log(metaInfoData);

【讨论】:

  • 你能告诉我如何将这些数据映射到数组并进行转换吗?对不起,先生,我是 javascript 的新手
  • 查看我使用过的代码data.map((obj) => {.......
  • 先生 @decpk 但是我如何将我的 response.data.data 转换为 const data =[] ?
  • const data = [...response.data.data]简单
猜你喜欢
  • 1970-01-01
  • 2020-01-14
  • 2019-04-30
  • 2019-07-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-04
  • 1970-01-01
相关资源
最近更新 更多