$emit不触发的原因

最近发现一个问题

$emit的方法,在父组件中不触发,代码是这样写的,

标红的这行这个方法不执行

复制代码
Vue.component('component_tan_checke', {
    props: ['public_checke'],
    template: '<div class="dialog" v-show="public_checke" >' +
        '<div class="weui_mask"></div>' +
        '<div class="weui_dialog">' +
        '<img src="/static/emergency/frontend/img/close.png" alt="" class="close" @click="$emit(\'off\')">' +
        '<div class="tan_area">' +
        '<div class="tan_tit"><img src="/static/emergency/frontend/img/g-ico-bell.png">提示</div>' +
        '<div class="tan_tip">' +
        '<div class="ts-note">是否通过审核?</div>' +
        '<div class="tan_btns">' +
        '<input class="btns btn-cancel" type="button" value="通过" @click="$emit(\'adopt\')">' +
        '<input class="btns btn-sure" type="button" value="不通过" @click="$emit(\'noAdopt\')">' +
        '</div>' +
        '</div>' +
        '</div>' +
        '</div>' +
        '</div>',
    data: function () {
        return {
            public_checke: false,
        }
    },
})
复制代码

问题找到了,

$emit传入的事件名称只能使用小写,不能使用大写的驼峰规则命名

改成

@click="$emit(\'noadopt\')"

就合适了

敲重点:

$emit不能用驼峰规则命名
$emit不能用驼峰规则命名
$emit不能用驼峰规则命名

 

posted @   烂笔头~  Views(3433)  Comments(0Edit  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示