@danilr

Как инициализировать карту один раз на Vue, но использовать на разных роутах Vue?

Ситуация такая - подключил 2гис к SPA Vue, вставил ее в компоненту(в компоненте инициализирую в mounted) и использую на разных страницах VueRouter эту компоненту. Все работает, но в консоли выдает ошибку что map уже инициализирована. Как сделать правильно?
  • Вопрос задан
  • 595 просмотров
Пригласить эксперта
Ответы на вопрос 1
1) убедитесь, что вы создаёте экземпляр DG.Map со ссылкой на элемент DOM, а не на его ID
2) не забудьте уничтожить созданный экземпляр в beforeDestroy

export default {
  data: () => ({
    map: null
  }),
  mounted () {
    this.map = new DG.map(this.$el)
  },
  beforeDestroy () {
    if (this.map) this.map.remove()
  }
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы