xiaoxiao昱
xiaoxiao昱
  • 发布:2021-06-01 17:17
  • 更新:2021-06-01 17:17
  • 阅读:280

【报Bug】小程序:循环的插槽中不允许访问页面数据

分类:uni-app

产品分类: uniapp/小程序/微信

PC开发环境操作系统: Windows

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

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

基础库版本号: 2.16.1

项目创建方式: CLI

CLI版本号: 4.5.12

示例代码:

组件:

<template lang="pug">  
view  
  view 外面的  
  view(v-for="(item, index) in list" :key="index")  
    slot(v-bind:item="item")  
</template>  

<script>  
export default {  
  name: 'inner',  
  props: {  
    list: {  
      type: Array,  
      default() {  
        return []  
      }  
    }  
  }  
}  
</script>

页面中引入此插件:

<template lang="pug">  
view  
  view {{obj.name}}  
  inner(:list="list" v-slot='{ item }')  
    view {{obj.name}}  
    view {{item}}  
</template>  

<script>  
import inner from './inner.vue'  
export default {  
  components: { inner },  
  data() {  
    return {  
      obj: {  
        name: 'hello'  
      },  
      list: [1,2,3,4,5]  
    }  
  },  
}  
</script>

操作步骤:
  1. 创建一个组件,暴露一个循环插槽
  2. 页面中引入此组件
  3. 在组件插槽中访问页面数据、方法、过滤器,会发现无效

预期结果:

循环插槽中能够正常访问页面数据、方法、过滤器等

实际结果:

循环插槽中未能正常访问页面数据、方法、过滤器等

bug描述:

循环的插槽中不允许访问页面数据、方法、过滤器。

什么意思呢,比如有一个页面A,引入了一个组件B,B中有一个循环出来的插槽,A中使用组件B,在A中定义的数据是无法直接在插槽中使用的。

详细问题我写了一篇文章,请参看:https://www.yuque.com/xiaoyulive/uniapp/gw1o5v

2021-06-01 17:17 负责人:无 分享
已邀请:

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