gpt4 book ai didi

vue.js - 如何将 gtm dataLayer 添加到 nuxt.js 组件?

转载 作者:行者123 更新时间:2023-12-04 15:35:40 30 4
gpt4 key购买 nike

我在添加到 dayaLayer 时遇到问题。对于 gtm 我使用这个 plugin ,但是不明白怎么通过组件为其添加dataLayer。
我的 nuxt.config fo 插件

modules: [
['@nuxtjs/google-tag-manager', {
id: 'GTM-xxxxxxxxxx',
pageViewEventName: 'nuxtRoute',
pageTracking: true,
layer: 'dataLayer'
}]
]

我的组件
head() {
return {
title: this.seo.title_meta,
meta: [
// hid is used as unique identifier. Do not use `vmid` for it as it will not work
{ hid: 'google-site-verification', name: 'google-site-verification', content: 'test' },
{ hid: 'description', name: 'description', content: this.seo.description_meta }
],
__dangerouslyDisableSanitizers: ['script'],
script: [
{
innerHTML: JSON.stringify({
'@context': 'http://schema.org',
'@type': 'Organization',
name: 'test',
url: 'https://test.co',
sameAs: this.linkMeta,
description: `${this.seo.description_meta}`
}),
type: 'application/ld+json'
},
{
innerHTML: `
window.dataLayer = window.dataLayer || [];
window.dataLayer = [{ 'pageType': 'Main'}]
`
}
]
};
},

我试图将带有 dataLayer 的脚本添加到头部,但没有任何结果。我的 Google Tag Assistant 插件找不到 dataLayer。谢谢你的帮助!

最佳答案

在您的 nuxt.config.js 中,您需要将此添加到 head目的:

script: [
{
hid: 'gtm',
innerHTML: `window.dataLayer = window.dataLayer || [];`,
type: 'text/javascript'
}
]
比在您的 nuxt 页面中,您可以使用挂载的钩子(Hook)将数据推送到 dataLayer,如下所示:
mounted: {
window.dataLayer.push({variable: value, someOtherVar: anotherValue})
}
使用挂载的钩子(Hook)很重要,因为这个钩子(Hook)被称为 wenn asycData() 或 fetch() 已经完成并且应用程序是水合的,因此窗口可用。

关于vue.js - 如何将 gtm dataLayer 添加到 nuxt.js 组件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59880855/

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