UNPKG

yandex-metrika-vue3

Version:

**yandex-metrika-vue3** allows you to send data about visited pages to [Yandex Metrika]. ## Installation Install with [yarn]: ```bash $ yarn add yandex-metrika-vue3 ``` Install with [npm]: ```bash $ npm install yandex-metrika-vue3 --save ``` ## Ways to us

41 lines (40 loc) 1.29 kB
import { EmptyYaMetrika } from './empty-ya.js'; import { checkConfig, createMetrika, loadScript, startTracking, updateConfig, } from './helpers.js'; import { YaMetrikaObject } from './ya-object.js'; let _metrikaInstance = new YaMetrikaObject(); let _app = null; export function initYandexMetrika(app, options) { setMetrikaInstance(); setApp(app); updateYandexMerikaByConfig(options); } export function useYandexMetrika() { return _metrikaInstance; } export function updateYandexMerikaByConfig(options, callbackOnReady) { if (!_app) { throw Error('Update available after init'); } _app.config.globalProperties.$yandexMetrika = _metrikaInstance; updateConfig(options); checkConfig(); loadScript(() => { if (!_app) { throw Error('Update available after init'); } const metrika = createMetrika(_app); _metrikaInstance.setMetrika(metrika); startTracking(_metrikaInstance); if (callbackOnReady) callbackOnReady(); }, options.scriptSrc); } export function setApp(app) { setMetrikaInstance(); _app = app; } function setMetrikaInstance() { const emptyMetrika = new EmptyYaMetrika(); _metrikaInstance.setMetrika(emptyMetrika); } export * from './types.js';