Я пытаюсь отправить данные о событиях в Google Tag Manger в проекте Nuxt. Этот пакет, https://www.npmjs.com/package/@nuxtjs / google-tag-manager , предоставляет то, что мне нужно. Пример, который они приводят, предполагает, что я хочу вызвать функцию из компонента:
this.$gtm.pushEvent({ event: 'myEvent', ...someAttributes })
Однако мне действительно нужно вызвать функцию из модуля Vuex, в котором this
не определено. Я думаю, я мог бы сделать это так:
import GTM from '@nuxtjs/google-tag-manager';
export default {
actions: {
myAction(_, data) {
GTM.pushEvent(data);
},
...
Но это приводит к:
TypeError: _nuxtjs_google_tag_manager__WEBPACK_IMPORTED_MODULE_3___default.a.pushEvent is not a function
Я также пытался:
import Vue from 'vue';
const vm = new Vue();
export default {
actions: {
myAction(_, data) {
vm.$gtm.pushEvent(data);
},
...
Но это приводит к :
TypeError: Cannot read property 'pushEvent' of undefined
Интересно, что когда я регистрирую vm
, я вижу $gtm: undefined
как свойство. Так что, видимо, плагин есть, но он не активирован? Я знаю, что мне чего-то не хватает, если c здесь ...