有沒有一種方法可以在 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粉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'