参考代码
- 发布:2021-11-12 23:34
- 更新:2021-11-28 14:47
- 阅读:1048
产品分类: uniapp/小程序/微信
PC开发环境操作系统: Mac
PC开发环境操作系统版本号: Catalina 10.15.5
HBuilderX类型: 正式
HBuilderX版本号: 3.2.12
第三方开发者工具版本号: 1.05.2111051
基础库版本号: 2.20.2
项目创建方式: HBuilderX
操作步骤:
预期结果:
在插槽内能正确取到插槽参数
在插槽内能正确取到插槽参数
实际结果:
插槽内取到的参数始终为undefined。scopedSlotsCompiler设置为legacy、auto或argumented结果都一样
插槽内取到的参数始终为undefined。scopedSlotsCompiler设置为legacy、auto或argumented结果都一样
bug描述:
组件代码如下:
<template>
<uni-swiper-dot :info="items" :current="currentAlt" mode="dot">
<swiper :current="current" :autoplay="autoplay" indicator-dots indicator-color="#FFFFFF"
indicator-active-color="#000000"
:style="{height: height + 'px'}"
@change="$emit("change", item)">
<swiper-item v-for="(item, index) in items" :key="index">
<slot :item="item" :index="index" />
</swiper-item>
</swiper>
</uni-swiper-dot>
</template>
<script>
export default {
props: {
items: {
type: Array,
default: []
},
height: {
type: Number,
default: 225
},
autoplay: {
type: Boolean,
default: false
}
},
data() {
return {
current: 0,
currentAlt: 0
}
},
methods: {
}
}
</script>
调用组件代码如下:
<template>
<view>
<custom-swiper
:items="config.swipes" :height="style.swiperHeight" :autoplay="autoplay"
#default="{item, index}"
>
<image :id="'swiper-'+index" :src="item.images[0].url"
:mode="showLarge ? 'widthFix' : 'aspectFill'"
/>
</custom-swiper>
</view>
</template>
执行时报错:
[Vue warn]: Property or method "item" is not defined on the instance but referenced during render. Make sure that this property is reactive, either in the data option, or for class-based components, by initializing the property. See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.
found in
---> <NavSwiper> at pages/component/navSwiper.vue
pages/index.vue(env: macOS,mp,1.05.2111051; lib: 2.16.1)
调试发现插槽传参时就是undefined:
gweii (作者)
我的代码语法没问题的
2021-11-13 14:58
苏陌
回复 gweii: 我知道
2021-11-13 16:04