【uni-app】自定义组件和通信

(1)自定义组件概念

组件是 vue 技术中非常重要的部分,组件使得与ui相关的轮子可以方便的制造和共享,进而使得vue使用者的开发效率大幅提升,在项目的component目录下存放组件,uni-app 只支持 vue 单文件组件(.vue 组件)

组件可以使用「全局注册」和「页面引入」两种方式进行使用,使用分为三步:

导入 import xxx from 'xxx'

注册 Vue.use('xx',xx) components:{ xxx }

使用 <xx />

(2)父子组件通信

  1. 父组件通过自定义属性向子组件传递数据
  2. 子组件通过 props 接收父组件传递的数
  3. 父组件通过自定义事件标签向子组件传递事件
  4. 子组件通过触发父组件定义事件方式修改父组件数据

(3)slot 数据分发与作用域插槽

  1. 父组件通过调用子组件内部嵌套 html 内容作为slot分发给子组件
  2. 子组件通过在 slot 标签上添加属性,向父组件通信数据,作用域插槽

(4)全局事件定义及通信

  1. 在整个应用的任何地方均可以使用uni.$on创建一个全局事件
  2. 在整个应用的任何地方也均可以使用 uni.$emit 来触发全局事件,实现多组件见的数据通信
相关推荐
冰糖雪梨dd41 分钟前
h() 函数
前端·javascript·vue.js
每天都想睡觉的190041 分钟前
在Vue、React 和 UniApp 中实现版本比对及更新提示
前端·vue.js·react.js
银之夏雪丶44 分钟前
this你了解多少呢
前端·javascript·面试
拾光拾趣录1 小时前
前端二进制数据处理:Blob、File、ArrayBuffer等核心对象对比
前端·javascript
Pikachu8031 小时前
Next.js中的App Router到底有多好用
javascript
洛依尘1 小时前
🔧 npm换源无效?锁文件才是幕后真凶!避坑指南
前端·javascript
我想说一句1 小时前
useLayoutEffect:React 中的"闪电侠"与"时间冻结者"
前端·javascript·前端框架
pany1 小时前
第一款 AI 友好的开源 Vue 模板 —— V3 Admin Vite / MobVue
前端·vue.js·aigc
Java陈序员1 小时前
又一款基于 SpringBoot + Vue 实现的开源新零售商城系统!
vue.js·spring boot·uni-app
轻语呢喃1 小时前
useContext : hook中跨层级通信的优雅方案
javascript·react.js·面试