Vue组件绑定自定义事件(子向父传递事件)
2017-09-01 10:26
791 查看
Vue组件使用v-on绑定自定义事件:
可以分为3步理解:
1.在组件模板中按照正常事件机制绑定事件:
template: '<button v-on:click="increment">{{ counter }}</button>',
如上,v-on:click就是用来给子组件绑定点击事件的,这就是原生的自带的事件,容易理解。
2.子组件的事件发生时,在事件函数中向父组件“报告”这一事件(使用$emit):
methods: {
increment: function () {
this.counter += 1;
this.$emit('increment');
}
},
上面事件函数中的代码this.$emit('increment')的意思就是向父组件报告,自己发生了‘increment’事件。至于发生的事件叫什么名字,可以随意取名,只要在父组件中绑定时名称一致即可。
3.父组件在使用时,明确使用v-on绑定子组件传来的事件:
<button-counter v-on:increment="incrementTotal"></button-counter>
上方的v-on:increment就是绑定的子组件的increment事件。
常用语父组件中的数据变化与子组件的操作有关的情况。
可以分为3步理解:
1.在组件模板中按照正常事件机制绑定事件:
template: '<button v-on:click="increment">{{ counter }}</button>',
如上,v-on:click就是用来给子组件绑定点击事件的,这就是原生的自带的事件,容易理解。
2.子组件的事件发生时,在事件函数中向父组件“报告”这一事件(使用$emit):
methods: {
increment: function () {
this.counter += 1;
this.$emit('increment');
}
},
上面事件函数中的代码this.$emit('increment')的意思就是向父组件报告,自己发生了‘increment’事件。至于发生的事件叫什么名字,可以随意取名,只要在父组件中绑定时名称一致即可。
3.父组件在使用时,明确使用v-on绑定子组件传来的事件:
<button-counter v-on:increment="incrementTotal"></button-counter>
上方的v-on:increment就是绑定的子组件的increment事件。
常用语父组件中的数据变化与子组件的操作有关的情况。
相关文章推荐
- vue.js通过子组件通信和父子组件通信实现动态表单动态绑定事件(适合交互系统统一使用)
- 深入浅析vue组件间事件传递
- vue.js组件之间通讯的数据双向绑定----父亲把数据传递给儿子,儿子更改数据后,重新发送给父亲,父亲数据更改后,属性会重新发送个儿子,儿子刷新新数据
- [Vue][自定义事件]关于组件prop双向绑定的理解和程序调试
- VUE中子组件向父组件传递事件
- Vue之v-on绑定监听子组件传来的事件
- Vue之2.x版本父子组件双向绑定事件
- vue组件-子组件向父组件传递数据-自定义事件
- 浅谈Vue.js 组件中的v-on绑定自定义事件理解
- Vue.js 组件中的v-on绑定自定义事件理解
- vue组件传递对象中实现单向绑定的方法
- vue中如何让子组件的事件传递给父组件
- Vue EventBus自定义组件事件传递
- vue组件的hover事件模拟、给第三方组件绑定事件不生效问题
- vue组件传递对象中实现单向绑定的示例
- vue---vue中如何自定义事件?子组件事件如何向上触发父组件事件?
- Vue实现调节窗口大小时触发事件动态调节更新组件尺寸
- vue.js绑定事件监听器(v-on)
- JavaScript 绑定事件时传递数据
- 解决linkbutton组件disable方法无法禁用jQuery绑定事件的问题