Javascript Vue.js是否将事件处理程序委托给父组件?
我的Javascript Vue.js是否将事件处理程序委托给父组件?,javascript,vue.js,Javascript,Vue.js,我的VM上有一个全局组件,如下所示 Vue.component('dropdown', function () { template: require('./templates/Dropdown.template.html'), components: { clients: require('./../modal/Clients.js') } }); Vue.component('dropdown', function () { ...
VM
上有一个全局组件,如下所示
Vue.component('dropdown', function () {
template: require('./templates/Dropdown.template.html'),
components: {
clients: require('./../modal/Clients.js')
}
});
Vue.component('dropdown', function () {
...
methods: {
submitForm: function () {
// handling event
}
},
...
});
正如您所看到的,这个全局组件有它自己的子组件-客户端
在该子组件的模板中,我已单击事件发生:
<button @click.prevent="submitForm"></button>
执行此操作的首选方法是使用$dispatch
向上发送事件,这避免了紧密耦合,这会略微违背独立,可重用组件在中有一个非常类似的示例。执行此操作的首选方法是使用$dispatch
向上发送事件,这避免了紧密耦合,这会略微违背独立,可重用组件中有一个非常类似的示例。您只需在子组件中执行此操作即可
ChildComponent.vue
<button @click="$emit('click')">Child Component Button</button>
<ChildComponent @click="myHandler()"/>
子组件按钮
它将触发父级中定义的处理程序
ParentComponent.vue
<button @click="$emit('click')">Child Component Button</button>
<ChildComponent @click="myHandler()"/>
您只需在子组件中执行此操作即可
ChildComponent.vue
<button @click="$emit('click')">Child Component Button</button>
<ChildComponent @click="myHandler()"/>
子组件按钮
它将触发父级中定义的处理程序
ParentComponent.vue
<button @click="$emit('click')">Child Component Button</button>
<ChildComponent @click="myHandler()"/>
VueJS开发人员删除了$dispatch
方法。这仍然是一个有效的答案,没有理由否决它。API已经更改,现在应该使用$emit()
而不是分派事件VueJS开发人员删除了$dispatch
方法。这仍然是一个有效的答案,没有理由否决它。API已经更改,现在应该使用$emit()
而不是分派事件