求松滴萌帮帮忙
求松滴萌帮帮忙
  • 发布:2021-03-19 14:30
  • 更新:2023-04-14 17:24
  • 阅读:4901

微信小程序 slot 问题 传参数方法无法获取参数

分类:uni-app

在使用插槽传递数据时 数据不能写在自定义属性中且不能在自定义属性中传参吗?


微信小程序解析后的代码指向了this 所以item直接是没有定义

2021-03-19 14:30 负责人:无 分享
已邀请:

最佳回复

DCloud_UNI_GSQ

DCloud_UNI_GSQ

针对作用域插槽仅能使用解构插槽类型以及不能使用复杂表达式和作用域外数据的问题,进行了改进,有需求的开发者可以使用 3.1.10 alpha 体验,配置方式:在 manifest.json - mp-weixin 增加新的选项 betterScopedSlots,此配置仅在 alpha 版开放,后续可能会取消或更改此选项。

HBuilderX alpha 3.1.19+ 增加优化配置

新的配置项名称为:scopedSlotsCompiler,默认值为 auto,如不能满足需求,可手动设置为 augmented

相关讨论可以见:https://github.com/dcloudio/uni-app/issues/495

此贴锁定,如遇类似问题请单独发帖反馈。

DCloud_UNI_GSQ

DCloud_UNI_GSQ

HBuilderX alpha 3.1.19+ 已修复

  • 曼殊沙华

    插槽传值:<slot :list="list"></slot> ,但是在父组件中 <template v-slot="{ list }">{{JSON.stringify(list)}}</template>会提示list未定义,而且加了="{ list }" 之后,插槽中的其他内容也识别不出来,目前发现H5时正常的,微信小程序渲染不了

    2022-07-10 19:29

  • DCloud_UNI_GSQ

    回复 曼殊沙华: 复现环境描述具体一点

    2022-07-18 11:41

1***@qq.com

1***@qq.com


vue3,cli-3061320221209001版本(至最新的-alpha-3061620221230002版本)slot传参不显示,cli-3060520221121001版本slot传参正常显示
(ps:h5正常,小程序不显示)

  • shareTimeline

    楼主目前有解决方案吗?我也是踩到整个坑了,四年多了,都没人处理这一块。h5是可以,在小程序直接不展示出来。只有把后面的参数去掉才能展示

    2023-04-14 11:07

  • shareTimeline

    回复 DCloud_UNI_GSQ: 你就根据图片的内容敲一下代码编译一下不会吗?图片代码都贴出来给你看了,你还看不懂?

    2023-04-14 11:19

  • shareTimeline

    回复 DCloud_UNI_GSQ: 根据两个红框的内容敲一下,然后你编译到小程序跟h5就能看到问题的效果了

    2023-04-14 11:26

  • DCloud_UNI_GSQ

    注意这个帖子是关于Vue2的,几年前还没有Vue3,不同的问题尽量单独发帖。

    2023-04-14 17:23

2***@qq.com

2***@qq.com

根本就没解决

  • DCloud_UNI_GSQ

    这是一个已经接近了两年的问题,如果你仍有疑虑,请详细描述。

    2023-03-09 11:13

  • shareTimeline

    回复 DCloud_UNI_GSQ: 根本就没有解决,如楼上1***@qq.com 的回复那样,需要去掉具名插槽后面的参数才可以正常展示,去掉了就没有用这个插槽的意义了。

    2023-04-14 10:57

  • DCloud_UNI_GSQ

    回复 shareTimeline: 如果仍然有问题,我会跟进,请详细描述

    2023-04-14 11:14

  • shareTimeline

    回复 DCloud_UNI_GSQ: 插槽传值:<slot name="aaa" :list="list"></slot> ,但是在父组件中 <template #aaa="{ list }">{{JSON.stringify(list)}}</template> 加了="{ list }" 之后,插槽中的其他内容也识别不出来,目前发现H5时正常的,微信小程序渲染不了

    2023-04-14 16:12

  • DCloud_UNI_GSQ

    回复 shareTimeline: scopedSlotsCompiler目前使用的哪种?另外你描述很简单,但实际上应该没这么简单,简化成一个示例工程压缩包上传一下。

    2023-04-14 17:14

  • DCloud_UNI_GSQ

    回复 shareTimeline: 复现环境描述具体一点

    2023-04-14 17:17

求松滴萌帮帮忙

求松滴萌帮帮忙 (作者)

帮帮忙啊松弟萌

求松滴萌帮帮忙

求松滴萌帮帮忙 (作者)

现在是不支持这种写法吗 是不是只能换种方式

回梦無痕

回梦無痕 - 暂停服务

今天刚看见大佬的,我直接截图吧

  • 求松滴萌帮帮忙 (作者)

    就是插槽返回的值不可以当做参数在当前页面的方法中使用我只能换写法了。。。。

    2021-03-19 16:38

  • 求松滴萌帮帮忙 (作者)

    现在我发现不是组件的问题 我修改成 image标签 也是不能使用的 还是不能往当前页面的方法中传参这个是uniapp解析成小程序代码的问题

    2021-03-19 16:52

  • DCloud_UNI_GSQ

    可以使用自定义组件,具体问题单独反馈

    2021-03-22 15:24

DCloud_UNI_GSQ

DCloud_UNI_GSQ

具体的报错贴一下

7***@qq.com

7***@qq.com

解决了吗?

  • DCloud_UNI_GSQ

    解决了,看置顶回复

    2022-09-14 12:00

  • 7***@qq.com

    回复 DCloud_UNI_GSQ: 编译成微信小程序还是报is not defined错误

    2022-09-15 09:53

  • DCloud_UNI_GSQ

    回复 7***@qq.com: 你现在配置一下 scopedSlotsCompiler 试试

    2022-09-16 16:27

  • 8***@qq.com

    回复 DCloud_UNI_GSQ:

    访问不了broker, scopedSlotsCompiler的auto和augmented都试过了,不行



    <template v-slot="{listData}">

    <list-item

    v-for="item in listData"

    key="item.objid"

    item="item"

    broker="broker"
    />

    </template>

    2022-11-28 16:46

8***@qq.com

8***@qq.com

这个确定解决了吗? 微信小程序配置了下面的,作用域插槽还是不能访问作用域外的数据,默认的auto也是不行的

"mp-weixin" : {
"scopedSlotsCompiler": "augmented",
},

  • DCloud_UNI_GSQ

    vue2还是vue3?

    2022-12-02 18:09

  • 1***@qq.com

    回复 DCloud_UNI_GSQ: vue3,cli-3061320221209001版本slot传参不显示,cli-3060520221121001版本slot传参正常显示

    2023-01-04 11:17

  • DCloud_UNI_GSQ

    回复 1***@qq.com: 详细描述一下

    2023-01-04 11:32

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