uni-app
uni-app copied to clipboard
vue3 版本不支持 三层嵌套组件 中间组件绑定 v-bind='$attrs' 里层组件$emit通知顶层组件
问题描述 VUE3 官方的 祖-父-孙 组件,孙组件 可以直接通过 父组件内 在 孙组件上 v-bind='$attrs',内部$emit,直接通知祖辈组件。 但uni app 这方面的表现 和 官方有差异
复现步骤 [复现问题的步骤]
祖辈组件 grandFather.vue
< father @getGrandSonEvent="event" / >
父组件 father.vue
< grandson v-bind=“$attrs” / >
options-api中的选项
inheritAttrs: false
孙组件 grandson.vue
this.$emit('getGrandSonEvent',1)
以上代码 vue3 下 h5端表现正常, 小程序无法运行
[或者可以直接贴源代码]
预期结果 小程序编译后 祖辈组件 可以获得 孙组件抛出的数据,参考vue3官网 https://v3.cn.vuejs.org/guide/migration/listeners-removed.html#%E6%A6%82%E8%A7%88 实际结果 小程序编译后 祖辈组件 无法获得 孙组件抛出的数据
系统信息:
- 发行平台: 微信小程序
- 操作系统 win10
- HBuilderX版本 [如使用HBuilderX,则需提供 HBuilderX 版本号]
- uni-app版本 ^3.0.0-alpha-3050320220727002
- 设备信息 [如 iPhone8 Plus]
补充信息 [可选] [根据你的分析,出现这个问题的原因可能在哪里?]
我这样也不行
https://github.com/dcloudio/uni-app/issues/3330#issuecomment-1150629776