Kindi丶
Kindi丶
  • 发布:2020-05-14 17:27
  • 更新:2020-05-22 13:44
  • 阅读:874

【报Bug】1.阿里小程序$slots 异常;2.阿里小程序provide/inject异常

分类:uni-app

产品分类: uniapp/小程序/阿里

PC开发环境操作系统: Mac

PC开发环境操作系统版本号: 10.15.4

HBuilderX类型: 正式

HBuilderX版本号: 2.6.16

第三方开发者工具版本号: 1.5.7

基础库版本号: 1.7.95

项目创建方式: HBuilderX

操作步骤:

1.钉钉小程序$slots 异常:
在 mounted 中打印 this 会发现 钉钉小程序$slots:undefined

2.钉钉小程序 inject 报错:Injection "xxxxx" not found;
父组件使用:

provide() {  
    return {  
      xxx: this  
    }  
  }

子组件:

inject: ['xxx'],

预期结果:

预期 $slots 有值。
inject有值。

实际结果:

$slots:undefined

Injection "xxxxx" not found;

bug描述:

uni-app 同时编译 微信小程序和 钉钉小程序 结果不同。

  1. 钉钉小程序$slots 异常 。通过在开发工具中打印 this 显示的结果不一致。
  2. 钉钉小程序 inject 报错:Injection "xxxxx" not found,其他端正常。
2020-05-14 17:27 负责人:DCloud_uniCloud_WYQ 分享
已邀请:
Kindi丶

Kindi丶 (作者)

附件中有测试demo,该demo是在 阿里小程序开发工具中创建的 uni-app 项目, provide / inject 正常可以使用
所以推测是 hbx问题。

$slots 依然undefined。

Kindi丶

Kindi丶 (作者)

@DCloud_UNI_GSQ @DCloud_heavensoft 能看看下这个问题吗?

Kindi丶

Kindi丶 (作者)

来人看一眼啊!

DCloud_uniCloud_WYQ

DCloud_uniCloud_WYQ

  • provide 和 inject只有开发工具中选择钉钉小程序有问题,这是小程序开发工具的一个Bug,可以使用钉钉小程序真机测试。至于你说的阿里小程序开发工具中创建的 uni-app 项目, provide / inject 正常可以使用的差异,是由之前修复的一个钉钉小程序的Bug导致的。综上, provide / inject 仍保持现状,使用真机调试即可。
  • $slots 目前只有H5端支持
  • Kindi丶 (作者)


    1. 实测微信小程序$slots 正常。

    2. 钉钉小程序没有真机调试模式,只有预览模式,开发实在辛苦。

    2020-06-03 10:37

  • 2***@qq.com

    小程序不支持 $slots , 那要判断插槽是否传入,请问有什么兼容的方案吗?

    2021-06-21 14:36

该问题目前已经被锁定, 无法添加新回复