如何使用 Nuxt Js 将数据属性添加到脚本标签?

Posted

技术标签:

【中文标题】如何使用 Nuxt Js 将数据属性添加到脚本标签?【英文标题】:How Can I add data attribute to script tag using Nuxt Js? 【发布时间】:2021-01-16 08:25:12 【问题描述】:
<script src="https://js.sample.js/fetchsample" data-cb-site="your-site"   
 data-cb-fbq-enabled="true"> 
</script>

我有这个脚本。 在nuxt js中我们有这种结构

 script: [
src: "https://js.sample.js/fetchsample" , data-cb-site="your site",  data-cb-fbq-enabled="true" 
]

但我在添加 data-cb-ste 和 data-cb-fbq-enabled 数据属性时遇到错误。 错误:

SyntaxError: Unexpected token -
  at new Script (vm.js:86:7)
  at Generator.next (<anonymous>)
  at Object.Module._extensions..js (internal/modules/cjs/loader.js:947:10)

请帮帮我。

提前致谢。

【问题讨论】:

【参考方案1】:

您得到的 SyntaxError 中有一个提示:

SyntaxError: Unexpected token -

引号之外的属性名称中不允许使用破折号-

因此您需要将 data-cb-site 更改为 "data-cb-site" 在对象字面量中定义它的位置。

当您访问名称中带有破折号 - 的字段时,您必须使用方括号表示法,例如object["data-cb-site"] 不是 object.data-cb-site

script: [
  
    src: "https://js.sample.js/fetchsample", 
    "data-cb-site": "your site",
    "data-cb-fbq-enabled": "true"
  
]

【讨论】:

@isherwood 实际上是在发布问题时输入错误。@sdgluck 答案工作正常。 不过,没有任何关于操作性变化的解释。我认为它是键上的引号(由于连字符可能是必需的),但应该说明。

以上是关于如何使用 Nuxt Js 将数据属性添加到脚本标签?的主要内容,如果未能解决你的问题,请参考以下文章

添加到 Nuxt.js 应用程序分析脚本,其执行取决于当前 url

在 Nuxt.js 中发送每个请求时,如何将对象添加到 apollo 上的数据?

如何将 Naver Analytics 添加到 Nuxt.js SPA 应用程序?

如何将 lang 属性添加到 Next.js 中的 html 标签?

使用 nuxt.js 和 vue.js 在 <template> 标记内加载脚本

如何使用 Nuxt.js 将数据存储到本地存储