2024-08-21 关于vue3中使用emit的一些笔记
问题1:emit is not defined
watch(() => content.value, (val) => {
emit('input', val);
});
原因:直接使用了未定义的emit导致报错。
解决方案:使用vue3中的defineEmits函数定义一个可以定义触发的函数,比如
const emit = defineEmits(['input']);
此处的emit只是一个变量,你可以自定义变量名,不固定叫做emit。
正确代码:
const emit = defineEmits(['input']);
watch(() => content.value, (val) => {
emit('input', val);
});
问题2:Component emitted event "input" but it is neither declared in the emits option nor as an "onInput" prop.
中译: 组件发出了事件“input”,但它既没有在emissions选项中声明,也没有作为“onInput”道具声明。
出错代码:
const emit = defineEmits(['update:modelValue']);
watch(() => content.value, (val) => {
emit('input', val);
});
原因:你声明了emit,但是当你使用emit的时候,触发的事件名为input,而不是定义好的update:modelValue,所以才报错。
解决方案:校正emit事件名。
正确代码:
const emit = defineEmits(['update:modelValue']);
watch(() => contentText.value, (val) => {
emit('update:modelValue', val);
});
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
2023-08-21 2023-08-21 canvas之fillText如何换行