// 注册一个全局自定义指令 `v-tracking`
Vue.directive("tracking", {
// 只调用一次,指令第一次绑定到元素时调用。
bind: (el, binding) => {
// 给元素绑定事件
el.addEventListener(
"click", _ => {
// 默认参数设置
let def = {
url:'/url',
}
let data = Object.assign(def,binding.value);
//binding.value为传入的对象字面量,将其转为字符串再经过RSA加密来压缩埋点内容
console.log(RSA.encrypt(JSON.stringify(data)));
// 发送埋点数据
},
false
);
}
});
复制代码
<button v-tracking="{ tag: '1', remake:'1' }">按钮1</button>
<button v-tracking="{ tag: '2', remake:'2' }">按钮2</button>
复制代码