手写 v-on (运用 directive, 简化版的 v-on)

import Vue from "vue";
// import App from "./App.vue";

Vue.config.productionTip = false;

Vue.directive('y', {
  inserted: function(el) {
    el.addEventListener('click', ()=>{console.log('y')})
  }
})

new Vue({
  directives: {
    on2: {
      inserted(el, info) {
        el.addEventListener(info.arg, info.value)
      },
      unbind(el, info) {        //  调用结束后,解除监听
        el.removeEventListener(info.arg, info.value)
      }
    }
  },
  methods: {
    hi() {
      console.log('hi')
    }
  },
  template: `
    <button v-on2:click='hi'>点我</button>
  `,
  // render: h => h(App)
}).$mount("#app");

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容