javascript - 将 vue-gtm(谷歌标签管理器)附加到 Router 实例

标签 javascript vue.js vuejs2

使用此包:https://www.npmjs.com/package/vue-gtm

在 router.js (vue cli 3) 中,我尝试将其附加到路由器实例:

import Vue from 'vue'
import Router from 'vue-router'
import VueGtm from 'vue-gtm'

Vue.use(VueGtm, {
  id: 'GTM-xxxxxxx',
  enabled: true,
  debug: true,
  vueRouter: Router
})

export default new Router({
  mode: 'history'
})

但是,显然,这是行不通的。在我的例子中,我如何将 vue-gtm 附加到路由器,其中我导出路由器实例,而不是将其设置为变量:

const router = new Router({})

最佳答案

您错误地为 vueRouter 传递了 Router 类:

Vue.use(VueGtm, {
  //vueRouter: Router, // <-- DON'T DO THIS
})

vueRouter 值应该是路由器实例,因此 router.js 应类似于以下内容:

const routes = [
  //...
]

const router = new Router({
  mode: 'history',
  routes
})

Vue.use(VueGtm, {
  vueRouter: router, // <-- router instance
  //...
})

export default router

关于javascript - 将 vue-gtm(谷歌标签管理器)附加到 Router 实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54569186/

相关文章:

javascript - 如何用组件替换字符串(vue)

vue.js - @nuxt/auth 我可以使用参数发送刷新 token 吗?

javascript - 如何在计算属性中使用 window.innerWidth - NuxtJS

javascript - vuejs2如何在输入聚焦时阻止表单提交并在失去焦点时启用它?

javascript - 如何使用 JavaScript 按顺序播放多个声音?

javascript - 鼠标悬停时 Jquery 交换图片库

javascript - 搜索 JSON 以查找特定值

javascript - Angular 日期排序自定义函数

Vue.js - Vue-router 和子路由问题

javascript - Vue.js - 当 'copying it' 到另一个数据属性时不要绑定(bind)对象