当前位置:首页 > uni-app

uniapp组件组装

2026-02-06 01:29:12uni-app

uniapp组件组装方法

组件创建与注册

components目录下创建自定义组件,文件名建议以my-前缀区分。组件需通过name属性定义标识符,例如:

<template>
  <view class="my-component">自定义内容</view>
</template>
<script>
export default {
  name: 'my-component'
}
</script>

全局注册组件

main.js中全局注册组件,避免重复导入:

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

局部注册组件

页面或组件内通过components选项局部注册:

import MyComponent from '@/components/my-component.vue'
export default {
  components: { MyComponent }
}

组件通信方式

父子组件通过props传递数据,子组件需声明接收属性:

props: {
  title: {
    type: String,
    default: '默认标题'
  }
}

子组件通过$emit触发父组件事件:

this.$emit('custom-event', payload)

插槽使用

通过slot实现内容分发,具名插槽可指定插入位置:

<template>
  <view>
    <slot name="header"></slot>
    <slot></slot>
  </view>
</template>

组件生命周期

组件可使用标准Vue生命周期钩子,如createdmounted等。uniapp特有的onShowonHide等页面生命周期不适用于组件。

样式隔离

添加scoped属性实现组件样式隔离:

<style scoped>
.my-class { color: red }
</style>

第三方组件集成

通过npm安装组件后,按需导入:

uniapp组件组装

import { uniBadge } from '@dcloudio/uni-ui'
export default {
  components: { uniBadge }
}

组件优化技巧

使用v-ifv-show控制渲染,复杂组件可拆分为多个子组件。对于静态内容使用v-once提升性能。

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

相关文章

vue实现下拉刷新组件

vue实现下拉刷新组件

Vue 下拉刷新组件实现 核心思路 通过监听 touch 事件计算滑动距离,结合 CSS 过渡动画实现下拉效果,触发刷新回调。 基础实现步骤 监听 touch 事件 在组件 mounted 阶段绑定…

uniapp发布到应用商店

uniapp发布到应用商店

发布到苹果App Store 确保开发者账号已注册并加入Apple Developer Program,年费99美元。在Xcode中生成iOS发布证书(.p12)和描述文件(Provisioning…

uniapp关闭侧滑

uniapp关闭侧滑

禁用全局侧滑返回功能 在pages.json中配置全局禁止侧滑返回: { "globalStyle": { "popGesture": "none" } } 禁用单个页面侧滑返回 在…

uniapp中如何引用echarts

uniapp中如何引用echarts

在uniapp中引用echarts uniapp中引用echarts可以通过原生方式或第三方插件实现,以下是具体方法: 使用原生echarts 安装echarts依赖 在项目根目录下执行命令:…

重构uniapp

重构uniapp

重构 Uniapp 项目的关键方法 代码结构优化 将页面、组件、静态资源按功能模块划分,避免全部堆放在根目录。建议采用以下结构: src/ ├── components/ // 通用组件…

uniapp $on

uniapp $on

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