用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
另外一个问题里面已经回答
00
相似问题