当前位置:首页 > uni-app

uniapp组件组装

2026-03-05 03:16:12uni-app

uniapp组件组装方法

uniapp支持组件化开发,通过组件组装可以提升代码复用性和可维护性。以下是常见的组件组装方式:

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

<template>
  <view>
    <text>{{ message }}</text>
  </view>
</template>

<script>
export default {
  props: {
    message: {
      type: String,
      default: '默认消息'
    }
  }
}
</script>

全局注册组件main.js中全局注册组件:

import MyComponent from '@/components/MyComponent.vue'
Vue.component('my-component', MyComponent)

局部注册组件 在页面或组件中局部引入:

<script>
import MyComponent from '@/components/MyComponent.vue'
export default {
  components: {
    MyComponent
  }
}
</script>

组件通信方式

uniapp组件组装

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

    <my-component message="来自父组件的数据"></my-component>
  • 子传父:通过$emit触发事件

    
    // 子组件
    this.$emit('custom-event', data)

// 父组件 <my-component @custom-event="handleEvent">

uniapp组件组装


- 跨级通信:使用provide/inject
```javascript
// 祖先组件
provide() {
  return {
    theme: 'dark'
  }
}

// 后代组件
inject: ['theme']

动态组件 使用<component>标签实现动态切换:

<component :is="currentComponent"></component>

插槽使用

  • 默认插槽:
    
    <!-- 子组件 -->
    <slot></slot>
插入内容 ```
  • 具名插槽:
    
    <!-- 子组件 -->
    <slot name="header"></slot>
头部内容 ```

组件生命周期 组件生命周期与Vue标准组件一致,包括createdmounted等钩子函数,同时支持uniapp特有的页面生命周期。

注意事项

  • 组件样式默认隔离,可使用options配置styleIsolation
  • 组件应尽量保持单一职责原则
  • 复杂组件建议拆分多个小组件组合使用
  • 合理使用计算属性和watch处理数据变化

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

相关文章

vue如何实现目录组件

vue如何实现目录组件

实现目录组件的基本思路 在Vue中实现目录组件通常需要结合页面内容的结构化数据(如标题层级),通过动态渲染生成可交互的目录。核心步骤包括提取标题、生成目录结构、实现滚动联动等。 提取标题信息 通过d…

uniapp应用市场

uniapp应用市场

uniapp应用市场概述 Uniapp作为跨平台开发框架,支持将代码编译到iOS、Android、Web及各类小程序平台。其应用市场(插件市场)是开发者获取扩展插件、模板、组件的重要资源库,涵盖UI组…

uniapp可以用vant吗

uniapp可以用vant吗

uniapp中使用Vant组件库的可行性 Vant是专为Vue.js设计的移动端组件库,而uniapp是一个跨平台开发框架。两者并非原生兼容,但可通过以下方式实现部分Vant组件的使用。 方法一:使…

精通uniapp

精通uniapp

掌握UniApp的基础知识 UniApp是一个基于Vue.js的跨平台开发框架,支持一次开发多端部署(如H5、小程序、App等)。核心概念包括Vue语法、组件化开发、条件编译(针对不同平台适配)以及U…

uniapp $on

uniapp $on

uniapp $on 方法详解 $on 是 UniApp 中用于监听全局事件的 API,常用于跨页面或跨组件通信。它基于 Vue 的事件机制,允许在全局范围内触发和监听自定义事件。 基本语法 uni…

vue轮播组件实现

vue轮播组件实现

vue轮播组件实现方法 使用第三方库(如Swiper) 安装Swiper库: npm install swiper 在Vue组件中引入: <template> <div cl…