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
JavaScript
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';