当前位置:首页 > uni-app

uniapp组件

2026-03-04 18:47:16uni-app

uniapp 组件的基本概念

uniapp 的组件是基于 Vue.js 的单文件组件(.vue 文件),支持跨平台开发。组件分为内置组件(如 viewbutton)和自定义组件,可通过标签直接调用。

内置组件的使用

uniapp 提供了一系列跨平台的内置组件,例如:

  • view:类似 HTML 的 div,用于布局容器。
  • text:文本组件,支持嵌套和样式继承。
  • button:按钮组件,开放能力如微信登录、分享等。

示例代码:

<view class="container">
  <text>Hello uniapp</text>
  <button @click="handleClick">点击</button>
</view>

自定义组件的创建与使用

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

    <template>
      <view>
        <text>{{ message }}</text>
      </view>
    </template>
    <script>
    export default {
      props: {
        message: String
      }
    }
    </script>
  2. 注册组件
    在页面中通过 import 引入并注册:

    <template>
      <view>
        <my-component message="自定义组件"></my-component>
      </view>
    </template>
    <script>
    import MyComponent from '@/components/MyComponent.vue'
    export default {
      components: { MyComponent }
    }
    </script>

组件的生命周期

uniapp 组件遵循 Vue 的生命周期,常用钩子包括:

  • created:组件实例刚创建,未挂载 DOM。
  • mounted:DOM 挂载完成,可操作节点。
  • updated:数据更新导致 DOM 重新渲染。

组件间的通信

  1. 父传子:通过 props 传递数据。

    <child-component :title="parentTitle"></child-component>
  2. 子传父:通过 $emit 触发父组件事件。

    // 子组件
    this.$emit('update', newValue)
    // 父组件
    <child-component @update="handleUpdate"></child-component>
  3. 全局状态管理:使用 Vuexuni.$on/uni.$emit 跨组件通信。

条件编译与平台适配

通过注释实现不同平台的代码适配:

uniapp组件

<!-- #ifdef H5 -->
<view>仅H5平台显示</view>
<!-- #endif -->

注意事项

  • 组件样式默认隔离,可通过 options 配置 styleIsolation 修改。
  • 避免频繁更新组件数据,优化性能可使用 v-once 或虚拟列表。
  • 跨平台组件需测试各端兼容性,必要时使用条件编译。

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

相关文章

vue实现组件跟随

vue实现组件跟随

实现组件跟随的常见方法 使用CSS定位 通过CSS的position: fixed或position: absolute属性实现组件跟随。需要结合JavaScript计算目标元素的位置。 &…

vue实现下拉框组件

vue实现下拉框组件

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

uniapp模板库

uniapp模板库

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

uniapp倒计时组件

uniapp倒计时组件

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

uniapp改变checkbox选中状态

uniapp改变checkbox选中状态

修改 checkbox 选中状态的方法 在 uniapp 中修改 checkbox 的选中状态可以通过以下几种方式实现: 绑定 v-model 控制状态 通过数据绑定方式控制 checkbox 的…

uniapp悬浮

uniapp悬浮

实现悬浮效果的方法 在UniApp中实现悬浮效果可以通过CSS的position: fixed或position: sticky属性结合动态样式控制来实现。以下是具体实现方式: 使用CSS固定定位…