Skip to content

Vue 3: Проблемы с компонентом при запуске виджета onComponentMount #94

Description

@shoha-kh

При подключении выдает ошибку:
An error occured while initializing Yandex Map with onComponentMount setting

Image

Сборка:
Vue 3

Код для запуска:

const loadScript = () =>
  new Promise((resolve, reject) => {
    if (window.CDEKWidget) return resolve(true)

    const script = document.createElement('script')
    script.src = 'https://cdn.jsdelivr.net/npm/@cdek-it/widget@3'
    script.async = true
    script.onload = () => resolve(true)
    script.onerror = () => reject(new Error('Failed to load CDEK widget'))
    document.body.appendChild(script)
  })

const initWidget = async () => {
  try {
    await loadScript()
    if (!widgetContainer.value || !window.CDEKWidget) {
      throw new Error('Widget initialization failed')
    }

    cdekWidget = new window.CDEKWidget({
      root: 'cdek-widget-container',
      apiKey: API_KEY,
      servicePath: SERVICE_PATH,
      defaultLocation: DEFAULT_LOCATION,
      popup: false,
      lang: 'rus',
      onChoose: (type: string, tariff: CdekTariff, point: CdekPoint) =>
        emit('choose', { type, tariff, point }),
      onReady: () => emit('ready'),
    })
  } catch (error) {
    emit('error', error instanceof Error ? error : new Error('Unknown error'))
  }
}

onMounted(initWidget)
onUnmounted(() => cdekWidget?.destroy())

Если какая то еще информация нужно спрашивайте дополню.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions