鸿蒙小技巧

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);
  }
相关推荐
用户479492835691517 小时前
面试官问"try-catch影响性能吗",我用数据打脸
前端·javascript·面试
坚果派·白晓明17 小时前
AI驱动的命令行工具集x-cmd鸿蒙化适配后通过DevBox安装使用
人工智能·华为·harmonyos
柒儿吖17 小时前
命令行ninja在鸿蒙PC上的使用方法
华为·harmonyos
GISer_Jing17 小时前
前端营销技术实战:数据+AI实战指南
前端·javascript·人工智能
GIS之路17 小时前
使用命令行工具 ogr2ogr 将 CSV 转换为 Shp 数据(二)
前端
嘉琪00117 小时前
Vue3+JS 高级前端面试题
开发语言·前端·javascript
vipbic18 小时前
用 Turborepo 打造 Strapi 插件开发的极速全栈体验
前端·javascript
天涯学馆18 小时前
为什么 JavaScript 可以单线程却能处理异步?
前端·javascript
Henry_Lau61719 小时前
主流IDE常用快捷键对照
前端·css·ide
陶甜也19 小时前
使用Blender进行现代建筑3D建模:前端开发者的跨界探索
前端·3d·blender