当前位置:首页 > uni-app

uniapp组件

2026-01-13 18:58:47uni-app

uniapp组件基础概念

uniapp的组件系统基于Vue.js,支持跨平台开发(H5、小程序、App等)。组件分为内置基础组件(如<view><button>)和自定义组件,需遵循特定规范实现跨平台兼容。

内置组件

uniapp提供以下常用内置组件:

  • 视图容器<view><scroll-view><swiper>
  • 表单元素<input><checkbox><picker>
  • 导航<navigator>(类似<a>标签)
  • 媒体<image><video>
  • 地图<map>(需平台支持)

示例:

<template>
  <view class="container">
    <button @click="handleClick">点击</button>
  </view>
</template>

自定义组件开发

  1. 创建组件文件
    components目录下新建.vue文件,例如my-component.vue

    <template>
      <view>{{ message }}</view>
    </template>
    <script>
    export default {
      props: ['message'],
      data() {
        return { localData: '局部数据' }
      }
    }
    </script>
  2. 注册组件
    全局注册:在main.js中通过Vue.component注册。
    局部注册:在页面中通过components选项引入:

    import MyComponent from '@/components/my-component.vue';
    export default {
      components: { MyComponent }
    }
  3. 使用组件
    在模板中直接使用:

    <my-component message="传递数据"></my-component>

组件通信

  • 父传子:通过props传递数据。

  • 子传父:通过$emit触发事件:

    // 子组件
    this.$emit('custom-event', payload);
    
    // 父组件
    <child-component @custom-event="handleEvent"></child-component>
  • 跨级通信:使用provide/inject或全局状态管理(如Vuex)。

生命周期

uniapp组件生命周期与Vue一致,常用钩子:

  • created:组件实例创建后调用。
  • mounted:DOM挂载完成。
  • updated:数据更新导致DOM重新渲染后触发。

平台差异处理

通过条件编译解决跨平台兼容问题:

<!-- #ifdef MP-WEIXIN -->
<view>仅微信小程序显示</view>
<!-- #endif -->

注意事项

  1. 组件样式默认隔离,可通过options配置styleIsolation调整。
  2. 小程序端自定义组件需在pages.json中配置usingComponents
  3. 避免频繁更新大数据量的props,可能影响性能。

通过合理使用组件化开发,能有效提升uniapp项目的可维护性和复用性。

uniapp组件

标签: 组件uniapp
分享给朋友:

相关文章

vue组件的实现

vue组件的实现

Vue 组件的实现方式 Vue 组件可以通过多种方式实现,主要包括单文件组件(SFC)、全局注册和局部注册。以下是常见的实现方法: 单文件组件(SFC) 单文件组件是 Vue 最推荐的组件化开发方…

vue实现穿梭框树组件

vue实现穿梭框树组件

Vue 穿梭框树组件实现 穿梭框树组件通常结合了树形结构和穿梭框功能,允许用户在左右两栏之间移动树节点数据。以下是基于 Vue 的实现方案: 核心功能设计 数据结构 树形数据通常采用嵌套结构,例如…

vue实现下拉框组件

vue实现下拉框组件

Vue 下拉框组件实现 基础实现 创建基础下拉框组件,使用v-model实现双向数据绑定: <template> <div class="dropdown"> &…

vue组件实现

vue组件实现

Vue 组件实现 Vue 组件是 Vue.js 的核心特性之一,允许开发者将 UI 拆分为独立、可复用的模块。以下是实现 Vue 组件的几种常见方式: 单文件组件(SFC) 单文件组件是 Vue…

uniapp实现支付功能

uniapp实现支付功能

支付功能实现概述 在UniApp中实现支付功能通常需要对接第三方支付平台(如微信支付、支付宝支付等)。以下是基于微信支付和支付宝支付的通用实现流程。 微信支付实现步骤 1. 配置支付权限 在微信开放…

uniapp倒计时组件

uniapp倒计时组件

uniapp倒计时组件实现方法 使用内置组件实现 uniapp提供了<countdown>组件用于倒计时功能,支持自定义格式和样式。示例代码如下: <countdown…