未捕获的类型错误:emit 不是 vue3 中的函数
2022-02-13
21708
当我在VUE 3设置代码块中编写此代码以获取输入值时,请按照此 答案 ,这是代码的一部分:
860735434
运行时应用程序显示错误:
255560614
我已经定义了emit,为什么仍然告诉我emit不是函数?这是我的VUE3组件的完整代码:
414102711
我想从模板输入中获取用户输入用户名。这些方式表明这种方式不起作用。我该怎么办来解决这个问题?我试图将
@vue/Compiler-sfc
升级到3.2.31,仍然没有解决此问题。
2个回答
defineEmits
和
defineProps
仅用于脚本设置,第一个例子应该将 props 定义为选项,而 emit 是设置钩子的第二个参数:
import { defineComponent } from "vue";
export default defineComponent({
props:{
modelValue: String
},
setup(props,{emit}) {
function updateValue(value: any) {
emit('update:modelValue', value)
}
}
Boussadjra Brahim
2022-02-13
正如你所说
这个表达式不是可调用错误
。尝试这个:
import { defineComponent } from "vue";
export default defineComponent({
props:{
modelValue: String
},
setup(props,ctx) {
function updateValue(value: any) {
ctx.emit('update:modelValue', value)
}
}
Dolphin
2022-02-13