Как правильно использовать Heap Analytics с Nuxt.js Router?

Я использую Heap Analytics в проекте Nuxt.js. При маршрутизации между страницами Heap отображает заголовок предыдущей страницы, а не текущей страницы. Я считаю, что это проблема с маршрутизатором nuxt, потому что если я изменю <nuxt-link>к обычному <a> Теги Куча отображает правильный заголовок (текущей страницы).

у меня есть heap.load()setup как часть миксина, который запускается в установленном хуке. Я также пробовал запустить его в созданном хуке. Они оба отправляют ожидаемые данные в кучу, за исключением <title>.

Конфигурация Nuxt:

      head: {
  script: [{ src: '/js/tracking/heap.js' }, ...]
},

plugins: [ '~/plugins/globals.js', ... ]

Плагины:

      import AnalyticsTracking from '~/mixins/analyticsTracking.js'
Vue.mixin(AnalyticsTracking)

Mixin:

      methods: {
    pageEvent() {
      if (process.client) {
       // avoid the dreaded 'heap.load() is not a function' error that results 
       // when heap is loaded multiple times.
       if (this.$store.state.scriptInit.heapLoaded) return
        
       heap.load(process.env.HEAP_KEY)
       this.$store.dispatch('scriptInit/setHeapLoaded')
      }
     }
 },

Страница:

      mounted() {
  this.pageEvent()
},
head() {
    return {
      title: this.currentPage.fields.seoTitle,
    }
}

Я прочитал документацию по маршрутизатору Nuxt и не вижу ничего очевидного, что было бы мне полезно. Я попытался асинхронно и отложить загрузку /js/tracking/heap.js, но это тоже не решает проблемы. Единственное решение, которое я нашел до сих пор, - это отказ от использования маршрутизатора Nuxt, и мне бы очень не хотелось, чтобы он не получил преимуществ предварительной загрузки / предварительной выборки.

Буду признателен за любой совет, который поможет мне решить эту проблему. Спасибо.

0 ответов

Другие вопросы по тегам