首页 > 解决方案 > 在 Vue.js 的内联处理程序中访问已发出事件的数据

问题描述

我想知道是否可以在模板的内联处理程序中提取发出的事件数据。

目前的做法:

template: `
    <div>
        <some-component @select="onSelect"></some-component>
    </div>
`,
data: () => ({
    selected: undefined
}),
methods: {
    onSelect (selectedItem) {
        this.selected = selectedItem; // this is "kind of" unnecessary
    }
}

“锦上添花”的方法:

template: `
    <div>
        <some-component @select="selected = $event.data"></some-component>
    </div>
`,
data: () => ({
    selected: undefined
})

这目前可能吗?$eventwrapper是否有任何data属性可以让我们做到这一点?

标签: javascriptvue.jsvuejs2event-handlingdom-events

解决方案


$event实际上不是包装器,而是您发送的数据。

所以你可以按如下方式处理:

template: `
    <div>
        <some-component @select="selected = $event"></some-component>
    </div>
`,
data: () => ({
    selected: undefined
})

推荐阅读