vue---vue中如何自定义事件?子组件事件如何向上触发父组件事件?
vue的自定义事件非常有趣,大意为子组件使用了一个事件,比如click然后产生了一个效果,这样的效果便可以为自定义事件了。然后将这样的效果命名放入父组件中,当做一个事件来触发,每当这样的效果发生一次时,这样父组件的事件也被触发了,即可以产生另一种效果,这样可以加强这两个效果的紧密联系,并且这样有趣又好用的方式也可以用在自己想要的地方。自定义事件的强大算是初步体会到了。例子:<div id="cou
·
vue的自定义事件非常有趣,大意为子组件使用了一个事件,比如click然后产生了一个效果,这样的效果便可以为自定义事件了。然后将这样的效果命名放入父组件中,当做一个事件来触发,每当这样的效果发生一次时,这样父组件的事件也被触发了,即可以产生另一种效果,这样可以加强这两个效果的紧密联系,并且这样有趣又好用的方式也可以用在自己想要的地方。自定义事件的强大算是初步体会到了。
例子:
<div id="counter-event-example">
<p>{{ total }}</p>
<button-counter v-on:increment="incrementTotal"></button-counter>
<button-counter v-on:increment="incrementTotal"></button-counter>
</div>
Vue.component('button-counter', {
template: '<button v-on:click="increment">{{ counter }}</button>',
//click的 触发会向上触发自定义事件incremnet,从而在函数incrementTotal中改变total的大小
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
}
}
})
更多推荐
已为社区贡献16条内容
所有评论(0)