vue 的自定义事件

vue的自定义事件非常有趣,大意为子组件使用了一个事件,比如click然后产生了一个效果,这样的效果便可以为自定义事件了。然后将这样的效果命名放入父组件中,当做一个事件来触发,每当这样的效果发生一次时,这样父组件的事件也被触发了,即可以产生另一种效果,这样可以加强这两个效果的紧密联系,并且这样有趣又好用的方式也可以用在自己想要的地方。自定义事件的强大算是初步体会到了。

例子:

<div ></button-counter>

</div>

Vue.component('button-counter', {

  template: '<button v-on:click="increment">{{ counter }}</button>',

  data: function () {

    return {

      counter: 0

    }

  },

  methods: {

    increment: function () {

      this.counter += 1

      this.$emit('increment')

    }

  },

})

new Vue({

  el: '#counter-event-example',

  data: {

    total: 0

  },

  methods: {

    incrementTotal: function () {

      this.total += 1

    }

  }

})