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()
而不是分派事件