首页  >  问答  >  正文

使用 Options API 处理 vue 3 发出的信号

有没有一种方法可以在 vue 3 Options API 中输入与 Composition API 类似的发射? 根据组合方式(文档):

<script setup lang="ts">
// type-based
const emit = defineEmits<{
  (e: 'change', id: number): void
  (e: 'update', value: string): void
}>()
</script>

但是对于选项 API,我们只有有效负载验证(文档):

emits: {
    addBook(payload: { bookName: string }) {
      // perform runtime validation
      return payload.bookName.length > 0
    }
  }

因此,如果我们不需要验证,eslint 会将参数视为未使用:

emits: {
    change: (id: number) => true // 'id' is defined but never used
}


P粉994092873P粉994092873292 天前435

全部回复(1)我来回复

  • P粉811349112

    P粉8113491122024-01-01 14:50:31

    添加忽略注释来消除警告:

    // eslint-disable-next-line no-unused-vars @typescript-eslint/no-unused-vars
    change: (id: number) => true
    

    或者对 id 进行简单的验证:

    change: (id: number) => typeof id === 'number'
    

    回复
    0
  • 取消回复