666啊! vue.mixinvue
产品粑粑说,关于用户的一切行为,他们都想知道。this
知足需求是本码畜的毕生需求。嗯,是的。就是这样。spa
组件不少怎么办?点击按钮不少怎么办?难道给每一个按钮都写一个插码事件吗!就算是码畜,也有一颗追求更优质(偷懒)代码的热情的心脏啊!code
//mixin.js
mounted(){ function test (context) { let el = context.$root.$el,//不太懂为何用 context.$el,绑定事件会执行两次 pageTitle = context.$route.meta.title if(el && !el._isBindDelegate){ let eventTypes = ['click'] //为了产品粑粑之后还想了解touch事件、滚动事件什么的 eventTypes.forEach(type=>{ el.addEventListener(type, (e)=>{ let target = e.target let txt = target.dataset.codemarker || target.parentNode.dataset.codemarker console.log('codemarker', pageTitle, txt) txt && window.codeMarker && window.codeMarker.clickButton(txt) }, true) }) el._isBindDelegate = true } } this.$nextTick(()=>{ test(this) }) },