指令式埋点
Vue
.directive('stat', {
bind(el
, binding
) {
el
.addEventListener('click', () => {
const data
= binding
.value
;
console
.log(data
)
}, false);
}
});
let startTime
='';
let endTime
='';
router
.beforeEach((to
, from, next
) => {
let flag
= localStorage
.getItem("user") !== null ? true: false;
startTime
=new Date().getTime();
let data
= {
type
: 'visit',
user_id
: flag
? JSON.parse(localStorage
.getItem("user")).id
: '获取不到userId',
time
: (new Date()).getTime(),
params
: {
from: {
name
: from.name
|| '',
path
: from.path
|| '',
query
: from.query
|| ''
},
to
: {
name
: to
.name
|| '',
path
: to
.path
|| '',
query
: to
.query
|| ''
}
}
}
App
.methods
.logEvent(data
);
next()
})
export default {
data() {
return {
startTime
:new Date().getTime(),
endTime
:''
}
},
methods
: {
}
}
mixins
: [maidian
],
beforeRouteEnter(to
, from, next
) {
console
.log(this, 'beforeRouteEnter');
console
.log(to
, '组件独享守卫beforeRouteEnter第一个参数');
console
.log(from, '组件独享守卫beforeRouteEnter第二个参数');
console
.log(next
, '组件独享守卫beforeRouteEnter第三个参数');
next(vm
=> {
console
.log(vm
.startTime
);
});
},
beforeRouteLeave(to
, from, next
) {
console
.log(from)
this.endTime
=new Date().getTime();
console
.log(this.endTime
-this.startTime
)
this.$destroy()
next(vm
=>{
})
},
转载请注明原文地址: https://mac.8miu.com/read-507908.html