鸿蒙小技巧

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);
  }
相关推荐
喵手6 分钟前
CSS3 渐变、阴影和遮罩的使用
前端·css·css3
顽强d石头8 分钟前
bug:undefined is not iterable (cannot read property Symbol(Symbol.iterator))
前端·bug
烛阴17 分钟前
模块/命名空间/全局类型如何共存?TS声明空间终极生存指南
前端·javascript·typescript
火车叼位21 分钟前
Git 精准移植代码:cherry-pick 简单说明
前端·git
江城开朗的豌豆25 分钟前
JavaScript篇:移动端点击的300ms魔咒:你以为用户手抖?其实是浏览器在搞事情!
前端·javascript·面试
陈奕昆25 分钟前
4.3 HarmonyOS NEXT AI驱动的交互创新:智能助手、实时语音与AR/MR开发实战
人工智能·交互·harmonyos
华洛31 分钟前
聊聊我们公司的AI应用工程师每天都干啥?
前端·javascript·vue.js
江城开朗的豌豆31 分钟前
JavaScript篇:你以为事件循环都一样?浏览器和Node的差别让我栽了跟头!
前端·javascript·面试
gyx_这个杀手不太冷静34 分钟前
Vue3 响应式系统探秘:watch 如何成为你的数据侦探
前端·vue.js·架构
晴殇i40 分钟前
🌐 CDN跨域原理深度解析:浏览器安全策略的智慧设计
前端·面试·程序员