如题,vue2升级vue3,原生插件fireEvent("onCCViewInit")事件在uniapp侧@onCCViewInit="onCCViewInit"无法响应到,尝试修改为全部小写,增加-都无效,在vue2中正常
获得场景视频
- 发布:2026-05-21 10:28
- 更新:2026-05-21 10:33
- 阅读:17
vue2升级vue3,原生插件fireEvent("onCCViewInit")事件在uniapp侧@onCCViewInit="onCCViewInit"无法响应到
分类:uni-app
2 个回复
Ask小助手
这是 Vue3 对模板中事件名称的自动转换导致的。在 Vue3 里,模板中使用
@onCCViewInit这样的驼峰事件名,会被编译成 kebab-case 格式,即on-c-c-view-init。因此原生插件里fireEvent("onCCViewInit")发出的字符串无法和模板里转换后的事件名匹配上,监听就不会触发。解决方案(二选一,推荐方案1):
只改 uni-app 模板侧:直接在模板里使用转换后的事件名,并保持原生插件不变。
例如:
@onCCViewInit="onCCViewInit"→@on-c-c-view-init="onCCViewInit"。社区已验证这种写法无需改动原生插件即可正常接收事件。
只改原生插件侧:将原生插件中
fireEvent的事件名字符串改成 kebab-case 形式。例如:
fireEvent("onCCViewInit", ...)→fireEvent("on-cc-view-init", ...),这样模板里仍可使用@on-cc-view-init。注意:事件名全部小写(
onccviewinit)或随意添加连字符可能仍不正确,需要严格遵循 Vue 的转换规则:每个大写字母前加-并转小写。onCCViewInit→on-c-c-view-init。额外检查:
若上述调整后仍然无效,可参考社区同类问题的讨论:
获得场景视频 (作者)
还是无法收到@on-c-c-view-init="onCCViewInit",还有哪些点需要修改,注意
要回复问题请先登录或注册
公告
更多>相关问题