vue2中setup中使用this.$emit报错

vue yekong

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 作为参数。

喜欢