Vue.js将事件处理程序委托给父组件
Vue.js delegate event handler to parent component?
我的VM
上有一个全局组件,像这样
Vue.component('dropdown', function () {
template: require('./templates/Dropdown.template.html'),
components: {
clients: require('./../modal/Clients.js')
}
});
如您所见,此全局组件有自己的子组件 - clients
在这个子组件的模板中,我发生了click
事件:
<button @click.prevent="submitForm"></button>
问题:
第一个全局组件Dropdown
是否有可能负责处理此事件?
所以我会这样
Vue.component('dropdown', function () {
...
methods: {
submitForm: function () {
// handling event
}
},
...
});
您可以在子组件中简单地执行此操作:
ChildComponent.vue
<button @click="$emit('click')">Child Component Button</button>
它将触发父级中定义的处理程序
ParentComponent.vue
<ChildComponent @click="myHandler()"/>
执行此操作的首选方法是使用 by 向上发送事件 $dispatch
这避免了紧密耦合,这稍微违背了独立、可重用组件的目的 文档中有一个非常相似的例子。
相关文章:
- 如何创建带有插槽的vue js组件预加载程序
- 如何向onClick事件处理程序传递一个接受参数的函数,并且仍然将该函数绑定到组件's”;这个“;上下文
- React/flux - 子组件用户事件 - 是否应通过调度程序路由所有内容
- 呈现react引导程序组件时出错
- 如何使用onClick处理程序在React组件中创建链接
- 如何在使用ui路由器时构造angular.js应用程序组件
- 将事件处理程序推送到父组件
- 多个组件点击处理程序的反应性能[每个组件的点击处理程序与点击处理程序]
- 动态生成的react引导程序组件缺少密钥属性
- React组件onClick处理程序不工作
- Gwd自定义组件及其事件处理程序
- AngularJS组件和cms驱动应用程序的最佳实践
- React.js-通过事件处理程序更改所有者组件的状态
- 使用角带和ui引导程序中的组件
- 在应用程序中识别框架组件的覆盖的工具
- Web应用程序的组件 - Express.js,Angular.js和MVC混淆
- 角度 2 交叉应用程序(根组件)通信
- 为什么当同级节点的“display”属性发生更改时,React 组件的 onClick 事件处理程序不会触发
- 是否可以避免在路由更改时重新呈现父路由处理程序组件
- 将 Bootstrap JS 组件与浏览器化填充程序一起使用