当前位置:首页 > uni-app

uniapp 插槽使用

2026-01-16 16:23:44uni-app

uniapp 插槽的基本使用

插槽(Slot)是组件化开发中的重要特性,允许在组件内部预留位置,由父组件动态传入内容。uniapp 支持 Vue 的插槽语法,包括默认插槽、具名插槽和作用域插槽。

默认插槽示例
子组件中通过 <slot> 标签定义插槽位置:

<!-- 子组件 child.vue -->
<template>
  <view class="container">
    <slot></slot>
  </view>
</template>

父组件使用时,在子组件标签内插入内容:

<!-- 父组件 -->
<child>
  <text>这是插入到默认插槽的内容</text>
</child>

具名插槽的使用

当需要多个插槽时,可通过具名插槽区分。子组件用 name 属性命名插槽:

<!-- 子组件 child.vue -->
<template>
  <view>
    <slot name="header"></slot>
    <slot name="footer"></slot>
  </view>
</template>

父组件通过 v-slot# 语法指定插槽名:

<!-- 父组件 -->
<child>
  <template v-slot:header>
    <text>头部内容</text>
  </template>
  <template #footer>
    <text>底部内容</text>
  </template>
</child>

作用域插槽的使用

作用域插槽允许子组件向插槽传递数据。子组件在 <slot> 上绑定属性:

<!-- 子组件 child.vue -->
<template>
  <view>
    <slot name="item" v-for="item in list" :item="item"></slot>
  </view>
</template>
<script>
export default {
  data() {
    return {
      list: ['A', 'B', 'C']
    }
  }
}
</script>

父组件通过 v-slot 接收数据:

<!-- 父组件 -->
<child>
  <template v-slot:item="slotProps">
    <text>{{ slotProps.item }}</text>
  </template>
</child>

插槽的默认内容

子组件可在 <slot> 内设置默认内容,当父组件未传递插槽内容时显示:

uniapp 插槽使用

<!-- 子组件 child.vue -->
<template>
  <view>
    <slot>默认显示文本</slot>
  </view>
</template>

注意事项

  • 兼容性:uniapp 的插槽语法与 Vue 一致,但在小程序端部分高级用法(如动态插槽名)可能受限。
  • 样式作用域:插槽内容样式受父组件样式影响,若需隔离样式可使用 style scoped
  • 性能优化:避免在插槽中使用复杂逻辑,尤其是循环嵌套插槽时可能影响渲染性能。

通过合理使用插槽,可以大幅提升组件的灵活性和复用性。

标签: 插槽uniapp
分享给朋友:

相关文章

uniapp多环境配置

uniapp多环境配置

多环境配置的必要性 在UniApp开发中,多环境配置能有效区分开发、测试、生产等不同环境的API地址、密钥等参数,避免手动修改代码导致的错误。 创建环境配置文件 在项目根目录下创建env.js或co…

uniapp模板库

uniapp模板库

uniapp模板库推荐 官方模板库 uni-app官方提供多个模板,涵盖电商、社交、新闻等多个领域。这些模板可直接在HBuilderX中通过新建项目选择,包含基础结构和常用功能模块,适合快速启动项目。…

uniapp视频

uniapp视频

uniapp视频开发基础 uniapp支持通过video组件实现视频播放功能,该组件兼容多端(H5、小程序、App等),基本用法如下: <template> <video…

uniapp营销

uniapp营销

营销策略 采用社交媒体推广,结合微信、微博、抖音等平台进行内容营销。通过短视频、直播等形式展示产品特点,吸引用户关注。利用KOL合作,扩大品牌影响力,提高用户信任度。 用户裂变 设计裂变活动…

eeui uniapp

eeui uniapp

关于 EEUI 和 UniApp 的解析 EEUI 和 UniApp 是两个不同的跨平台开发框架,均用于快速构建多端应用。以下是它们的核心特点和对比分析: EEUI 框架特点 EEUI 是一个基于…

uniapp 表格导入

uniapp 表格导入

uniapp 表格导入的实现方法 使用 uni.chooseFile 选择文件 在 uniapp 中,可以通过 uni.chooseFile API 让用户选择本地文件。该 API 支持多平台,包括…