uni-app icon indicating copy to clipboard operation
uni-app copied to clipboard

vue3 版本不支持 三层嵌套组件 中间组件绑定 v-bind='$attrs' 里层组件$emit通知顶层组件

Open dang0705 opened this issue 3 years ago • 0 comments

问题描述 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]

补充信息 [可选] [根据你的分析,出现这个问题的原因可能在哪里?]

dang0705 avatar Jul 30 '22 15:07 dang0705

image

我这样也不行

yoyo837 avatar Sep 19 '22 17:09 yoyo837

https://github.com/dcloudio/uni-app/issues/3330#issuecomment-1150629776

yoyo837 avatar Sep 19 '22 17:09 yoyo837