用defineComponent, 在setup 里emit 事件时会报红色的错误

来源:3-8 更近一步 - reactive

慕函数5812448

2021-06-17

您好老师,请叫vue3+ts 的问题,
问题描述:
在 定义组件时,用defineComponent , 在setup 里自定义事件emit(‘loginTypeClick’, type),会报红,说Cannot invoke an expression whose type lacks a call signature. Type ‘EmitsOptions’ has no compatible call signatures.没有签名
代码:

<script lang="ts">
import { ref, defineComponent } from 'vue'

export default defineComponent({
  name: 'NavList',
  setup(props, { emit }) {
    let loginType = ref(1)
    const navClick = (type: number): void => {
      loginType.value = type
      emit('loginTypeClick', type)//这一句要报红,
    }
    return {
      navClick,
      loginType,
    }
  },
})
</script>

不影响运行, 但是vscode 这里会报红,说不兼容签名什么,

强迫症,想知道什么原因 怎么解决这个问题;麻烦老师了

写回答

1回答

张轩

2021-06-18

另外一个问题里面已经回答

0
0

Vue3 + TS 仿知乎专栏企业级项目

带你完成前后端分离复杂项目,率先掌握 vue3 造轮子技能

3142 学习 · 2313 问题

查看课程