Как правильно использовать 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, и мне бы очень не хотелось, чтобы он не получил преимуществ предварительной загрузки / предварительной выборки.
Буду признателен за любой совет, который поможет мне решить эту проблему. Спасибо.