ru1er
ru1er
  • 发布:2021-12-22 17:13
  • 更新:2022-09-01 13:14
  • 阅读:1165

【报Bug】支付宝小程序不支持$scopedSlots $slots

分类:uni-app

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

PC开发环境操作系统: Windows

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

HBuilderX类型: 正式

HBuilderX版本号: 3.2.16

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

基础库版本号: 最新

项目创建方式: HBuilderX

示例代码:
<test>  
    <view></view>  
    <template #test>  
        <view>  
            哈啊哈哈  
        </view>  
    </template>  
</test>  

<template>  
    <view class="test-view">  
        <slot></slot>  
        <slot name="test"></slot>  
    </view>  
</template>

操作步骤:

如上代码

预期结果:

应该和其他小程序保持一致

实际结果:

获取不到

bug描述:

支付宝小程序不支持$scopedSlots $slots
在h5和微信小程序中都没有问题

2021-12-22 17:13 负责人:DCloud_UNI_LXH 分享
已邀请:
ru1er

ru1er (作者)

补充:
这是uview的组件库示例项目,其中有很多也使用了$slots,但是可以看到报了很多错,并且样式错乱。而错误正是$slots引起的。

ru1er

ru1er (作者)


如果不支持 ,请在文档里声明,谢谢!!!

ru1er

ru1er (作者)

官方可以给个反馈吗

4***@qq.com

4***@qq.com

我也遇见这个问题,请问有解决方案了么

g***@163.com

g***@163.com

有没有暂时的解决方案啊,回答一下啊

m***@yeah.net

m***@yeah.net

临时解决方案:(解决后传递的插槽值依然不可用,仅把 $slots, $scopedSlots 赋值为空对象,仅防止控制台报错)

// #ifdef MP-ALIPAY  
// 解决支付宝小程序插槽不兼容问题  
Vue.mixin({  
  beforeCreate () {  
    if (!this.$slots) Object.defineProperty(this, '$slots', { value: {}})  
    if (!this.$scopedSlots) Object.defineProperty(this, '$scopedSlots', { value: {}})  
  }  
})  
// #endif
DCloud_UNI_GSQ

DCloud_UNI_GSQ

https://github.com/dcloudio/uni-app/issues/3529

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