vue事件

109 阅读1分钟

使用

vue中我们会注册各种事件,除了dom上的点击等事件,也会在组件上注册事件

let Child = {
  template: '<button @click="clickHandler($event)">' +
  'click me' +
  '</button>',
  methods: {
    clickHandler(e) {
      console.log('Button clicked!', e)
      this.$emit('select')
    }
  }
}

let vm = new Vue({
  el: '#app',
  template: '<div>' +
  '<child @select="selectHandler" @click.native.prevent="clickHandler"></child>' +
  '</div>',
  methods: {
    clickHandler() {
      console.log('Child clicked!')
    },
    selectHandler() {
      console.log('Child select!')
    }
  },
  components: {
    Child
  }
})

原理

1、编译识别事件

2、dom事件

3、自定义事件

欢迎关注我的前端自检清单,我和你一起成长