как включить json-ld скрипт в nuxt 3?

Я пытаюсь добавить json-ld на свою страницу, но все еще не работает или не то, что я хочу.

вот что я пробовал до сих пор:

  1. используя useMeta ()
      useMeta({
    script: [
        {
            type: 'application/ld-json',
            json: jsonLd,
        },
    ],
});

результат: <script type="application/ld-json" json="[object Object]"></script>

  1. с использованием <Script> тег
      <Script type="application/ld-json">
        {{ jsonLd }}
</Script>

результат: <script type="application/ld+json"></script> пустое значение.

и

      <Script type="application/ld-json" v-html="jsonLd"></Script>

результат: <script type="application/ld-json" innerhtml="[object Object]"></script>

я что-то упускаю? Спасибо.

4 ответа

Если кому-то интересно, вот как я заставляю это работать:

С использованием

<Script :children="jsonLd" />

Или же

      useMeta({
    script: [
        {
            type: 'application/ld-json',
            children: JSON.stringify(jsonLd),
        },
    ],
});

Вскоре будет добавлена ​​поддержка Nuxt 3: https://github.com/ymmooot/nuxt-jsonld/issues/763 .

Вы можете использовать nuxt-jsonld, модуль Nuxt 3 для управления JSON-LD.

у меня это сработало в nuxt 3:

      useHead({
script: [{
    type: 'application/ld+json',
    innerHTML: JSON.stringify({
        "type": "application/ld+json",
        "textContent": {
            "@context": "https://schema.org",
            "@type": "Article",
            "headline": "",
            "image": [
                ""
            ],
            "author": [{
                "@type": "Person",
                "name": "",
                "url": ""
            }]
        }
    })
}],
__dangerouslyDisableSanitizers: ['script'],
})
Другие вопросы по тегам