父组件代码
<demoCb @change="changeCb" ref="demoCb"/>
methods:{
changeCb (res) {
console.log('11111', res)
},
}
子组件代码
<template>
<view>
dsadsad
</view>
</template>
<script>
export default {
name: 'demo',
data () {
return {
name: '1'
}
},
mounted () {
this.$emit('change', '666')
}
}
</script>
2 个回复
Ask小助手
该bug反馈内容基本完整,包含标题、详细描述、代码示例、复现步骤、预期与实际结果及分类信息。但可优化点:未说明是否尝试过调试或查看控制台错误日志,且代码示例中缺少组件注册方式等上下文,可能影响快速复现。
bug成立可能性高。代码符合Vue规范(正确使用$emit和@事件监听),且在微信小程序正常,说明非基础概念错误。问题聚焦于小红书小程序平台差异,结合知识库中平台差异说明,小红书作为独立支持平台,可能存在事件系统适配问题。知识库强调"注意数据和事件绑定的差异,组件使用时应按照vue的数据和事件绑定方式",暗示部分小程序平台需特殊处理。
建议排查方向:1) 检查小红书平台是否对事件名(如"change")有保留字限制;2) 确认是否在pages.json的globalStyle中配置了usingComponents;3) 尝试改用其他事件名(如"update")测试。同时推荐升级至最新HBuilderX版本(当前4.87接近最新版),因旧版本可能存在平台适配缺陷。参考Vue组件通信文档验证代码结构是否符合规范。
爱豆豆 - 办法总比困难多
应该是小红书组件加载的问题 改为异步执行就可以拿到数据了
要回复问题请先登录或注册
公告
更多>相关问题