鸿蒙小技巧

1.子调用父的方法

子组件

父组件

2.使用emitter实现孙子传爷

孙子组件

TypeScript 复制代码
import emitter from '@ohos.events.emitter';

    let event: emitter.InnerEvent = {
              eventId: 1,
              priority: emitter.EventPriority.HIGH
            };

            let eventData: emitter.EventData = {
              data: {
                "state": true,
                "item": JSON.stringify(this.item)
              }
            };

            // 孙子组件发送事件
            emitter.emit(event, eventData);

爷爷组件

TypeScript 复制代码
  aboutToAppear(): void {
   

    let event: emitter.InnerEvent = {
      eventId: 1
    };

    let callback = (eventData: emitter.EventData): void => {
      if (eventData && eventData.data) {

        this.item = JSON.parse(eventData.data.item)
        this.isShow = eventData.data.state
      }
    };

    // 爷爷组件监听事件
    emitter.on(event, callback);
  }
相关推荐
Chengbei1112 小时前
云安全漏洞挖掘SKILL、一站式云漏洞挖掘工具,支持S3爆破、IMDS探测、K8s检测与AK/SK权限利用
前端·人工智能·网络安全·云原生·容器·kubernetes·系统安全
不简说12 小时前
JS 代码技巧 vol.9 — 20 个设计模式在真实项目里的应用
前端·javascript·github
CoderLiu12 小时前
Agent 工程的下一层:为什么「把流程写成图」还不够,还需要 Graph Engineering
前端·人工智能·后端
勇往直前plus12 小时前
Vue3(篇三) Element Plus
前端·javascript·typescript·vue
爱勇宝13 小时前
《道德经》第 8 章:真正高级的能力,像水一样成事
前端·后端·程序员
Revolution6113 小时前
数组本身没有 map,为什么还能直接调用:原型链怎样查找属性
前端·javascript·面试
bonechips13 小时前
RAG实战(一):EPUB 加载、文本切割与向量入库
前端·数据库
swipe13 小时前
10|(前端转全栈)库存扣减为什么最容易出事故?SKU、并发与原子更新
前端·后端·全栈
cdcdhj13 小时前
vue3中的watchEffect()监听,什么时候监听,什么时候清理,什么时候停止
前端·javascript·vue.js
huabuyu13 小时前
几百 MB 的文件为什么等几分钟才能打开?文件分片下载与渐进预览原理
前端·javascript