获得场景视频
获得场景视频
  • 发布:2026-05-21 10:28
  • 更新:2026-05-21 10:33
  • 阅读:17

vue2升级vue3,原生插件fireEvent("onCCViewInit")事件在uniapp侧@onCCViewInit="onCCViewInit"无法响应到

分类:uni-app

如题,vue2升级vue3,原生插件fireEvent("onCCViewInit")事件在uniapp侧@onCCViewInit="onCCViewInit"无法响应到,尝试修改为全部小写,增加-都无效,在vue2中正常

2026-05-21 10:28 负责人:无 分享
已邀请:
Ask小助手

Ask小助手

欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。

这是 Vue3 对模板中事件名称的自动转换导致的。在 Vue3 里,模板中使用 @onCCViewInit 这样的驼峰事件名,会被编译成 kebab-case 格式,即 on-c-c-view-init。因此原生插件里 fireEvent("onCCViewInit") 发出的字符串无法和模板里转换后的事件名匹配上,监听就不会触发。

解决方案(二选一,推荐方案1)

  1. 只改 uni-app 模板侧:直接在模板里使用转换后的事件名,并保持原生插件不变。
    例如:@onCCViewInit="onCCViewInit"@on-c-c-view-init="onCCViewInit"
    社区已验证这种写法无需改动原生插件即可正常接收事件。

  2. 只改原生插件侧:将原生插件中 fireEvent 的事件名字符串改成 kebab-case 形式。
    例如:fireEvent("onCCViewInit", ...)fireEvent("on-cc-view-init", ...),这样模板里仍可使用 @on-cc-view-init

注意:事件名全部小写(onccviewinit)或随意添加连字符可能仍不正确,需要严格遵循 Vue 的转换规则:每个大写字母前加 - 并转小写onCCViewIniton-c-c-view-init

额外检查

  • 原生 component 插件只能在 nvue 页面中使用,请确认你的页面类型是 nvue,而非普通的 vue 页面。
  • 确保插件已正确绑定并在基座中正常运行。

若上述调整后仍然无效,可参考社区同类问题的讨论:

内容为 AI 生成,仅供参考
获得场景视频

获得场景视频 (作者)

还是无法收到@on-c-c-view-init="onCCViewInit",还有哪些点需要修改,注意

要回复问题请先登录注册