国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

Vue自定義指令上報(bào)Google Analytics事件統(tǒng)計(jì)的方法

2024-05-06 15:42:10
字體:
供稿:網(wǎng)友

發(fā)現(xiàn)問題

一般前端開發(fā)離不開數(shù)據(jù)統(tǒng)計(jì),我們經(jīng)常需要接入統(tǒng)計(jì)服務(wù)以方便運(yùn)營(yíng),例如現(xiàn)在需要統(tǒng)計(jì)一個(gè)按鈕

<template> <button @click="handleClick" /></template><script>export default { methods: { handleClick() { window.alert('button click') } }}</script>

引入 ga 后是這樣上報(bào)的

handleClick() { window.alert('button click') const params = { hitType: 'event', eventCategory: 'button', eventAction: 'click', eventLabel: 'click label' } window.ga('send', params)}

很簡(jiǎn)單!

但當(dāng)頁面的按鈕增加,我們幾乎要在所有 handle 事件里侵入統(tǒng)計(jì)代碼,和業(yè)務(wù)邏輯混在一起

不夠優(yōu)雅!

怎么優(yōu)雅

我們嘗試?yán)?Vue 的指令來自定義統(tǒng)計(jì),這是我最終想要的統(tǒng)計(jì)方式

只需要在 template 里聲明好統(tǒng)計(jì)參數(shù),用戶點(diǎn)擊則觸發(fā)上報(bào)

<template> <button @click="handleClick"  v-ga="{  eventCategory: 'button',  eventLabel: 'button click'  }" /></template>

抽離統(tǒng)計(jì)

將上報(bào)統(tǒng)計(jì)代碼單獨(dú)個(gè)方法出來

./services/analyst.js

export function send(data = {}) { const params = { hitType: 'event', eventCategory: 'button', eventAction: 'click', eventLabel: 'click label' } window.ga('send', Object.assign({}, params, data))}

編寫指令

監(jiān)聽?zhēng)в?v-ga 指令的元素,統(tǒng)一處理上報(bào)

./plugins/analyst.js

import * as analyst from './services/analyst'const plugin = Vue => { Vue.directive('ga', { bind(el, binding) { el.addEventListener('click', () => { // binding.value 拿到 v-ga 指令的參數(shù) analyst.send(binding.value) }) }, unbind(el) { el.removeEventListener('click', () => {}) } })}export default plugin

最終調(diào)用

import Vue from 'vue'import GaPlugin from './plugins/analyst'Vue.use(GaPlugin)

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持錯(cuò)新站長(zhǎng)站。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 陈巴尔虎旗| 蒲江县| 永年县| 万年县| 固镇县| 波密县| 泸水县| 南平市| 武威市| 安泽县| 宁都县| 林西县| 嘉荫县| 栾川县| 长岭县| 平山县| 嘉善县| 运城市| 佛学| 涿州市| 安国市| 宜都市| 逊克县| 祁连县| 林州市| 米易县| 青铜峡市| 德清县| 舒城县| 柳林县| 沾益县| 连南| 黔西| 顺昌县| 凤山市| 扶风县| 常山县| 宿松县| 顺平县| 博客| 平乡县|