鸿蒙小技巧

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);
  }
相关推荐
Channing Lewis1 小时前
如何实现网页不用刷新也能更新
前端
如果'\'真能转义说2 小时前
TypeScript - 利用GPT辅助学习
gpt·学习·typescript
努力搬砖的程序媛儿2 小时前
uniapp广告飘窗
前端·javascript·uni-app
dfh00l2 小时前
firefox屏蔽debugger()
前端·firefox
张人玉2 小时前
小白误入(需要一定的vue基础 )使用node建立服务器——vue前端登录注册页面连接到数据库
服务器·前端·vue.js
大大。2 小时前
element el-table合并单元格
前端·javascript·vue.js
一纸忘忧2 小时前
Bun 1.2 版本重磅更新,带来全方位升级体验
前端·javascript·node.js
杨.某某2 小时前
若依 v-hasPermi 自定义指令失效场景
前端·javascript·vue.js
猫猫村晨总2 小时前
基于 Vue3 + Canvas + Web Worker 实现高性能图像黑白转换工具的设计与实现
前端·vue3·canvas
浪浪山小白兔3 小时前
HTML5 常用事件详解
前端·html·html5