vue2项目中在setup中使用this.$emit报错了。
this.$emit is not a function
在 Vue 2 中,如果使用了 Composition API 插件并且在 setup
函数中,this.$emit
是不可用的。你需要使用 setup
函数的第二个参数 context
来访问 emit
方法。
以下是一个示例:
export default {
props: ['areaName'],
setup(props, context) {
const updateAreaName = (areaName) => {
context.emit('updateAreaName', areaName);
}
// ...
}
}
在这个示例中,我们首先在组件的选项中定义了一个名为 areaName
的 prop。然后,在 setup
函数中,我们定义了一个 updateAreaName
函数,该函数使用 context.emit
来触发一个名为 updateAreaName
的自定义事件,并传递新的 areaName
作为参数。