鸿蒙开发 组件之间的传值

1.@Prop:父组件传递给子组件,单向传递,子组件改变值,父组件UI不更新。

  引入子组件  并赋值,子组件用@Prop 接收

  import headerView from '../../common/bean/BaseNavHeaderView'   

headerView({
  titlestr:'添加地址',
  isback:true,
  isleftimage:'',
  isright:true,
  rightcontentstr:'保存',
  rightimage:'',
  fromehere:'添加地址',
  startCalcute:this.startCalcuteMoney.bind(this)
}).width('100%').height('44').backgroundColor('#FFD615').zIndex(888)
@Component
export default  struct BaseNavHeaderView {

  @Prop titlestr:string;
        isback:Boolean;
        isleftimage:string;
        isright:Boolean;
        rightcontentstr:string;
       rightimage:string;
       fromehere:string;
      startCalcute:() => void = () =>{}

2.@Link 双向传递,子组件改变父组件UI更新,注意:不能修饰带@Entry 类型的pages.

   父试图定义变量,传递给子组件child时要用$

@State dianjicounts:number = 0

 child({dianjicounts:$dianjicounts})

子组件接收

 @Component export default struct child {

      @Link dianjicounts:number

    调用用this.dianjicounts

}

3.@Provide/@Consume 不需要传递参数,UI会更新

 父组件定义并调用子组件

@Provide dianjicounts: number = 0 

child()

子组件接收

@Component export default struct child {

     @Consume dianjicounts:number

     调用用this.dianjicounts

}

4.方法传递

  父组件定义方法

startCalcuteMoney():void{

     console.log('保存一下')

}

传给子组件,要用bind方法绑定一下

headerView({

   startCalcute:this.startCalcuteMoney.bind(this)

}) 

子组件接收

@Component export default struct BaseNavHeaderView {

        @Prop startCalcute:() => void = () =>{}

子组件调用

    this.startCalcute()

}

5.eventHub通知

引入

import common from '@ohos.app.ability.common'
定义
private  context = getContext(this) as common.UIAbilityContext

发送

this.context.eventHub.emit('todayclick',1)

监听

this.context.eventHub.on('todayclick', (data: number) => {
 //方法 this.gettodaycal()
 });

  • 8
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
HarmonyOS的开发路线图是华为公司为构建智能生态系统所制定的战略规划。该路线图主要分为三个阶段。 第一阶段是2020年,目标是推出面向智能手机、平板电脑和智能穿戴设备的HarmonyOS 2.0版本。此版本将提供完整的开发工具和开发者文档,以促进开发者加快适配和迁移现有应用程序。华为计划首先在低端到中端市场推广HarmonyOS,逐步覆盖高端市场。此外,华为也计划与开发者和合作伙伴合作,共同推广和丰富HarmonyOS的应用生态系统。 第二阶段是2022年,华为计划在HarmonyOS的基础上推出全场景智能生态系统的HarmonyOS 3.0版本。该版本将支持更多设备类型,包括电视、汽车、家电和物联网设备。此外,华为还计划加强与开发者和合作伙伴的合作,共同推动HarmonyOS在各个行业的应用和发展。 第三阶段是2023年,华为将加强与全球开发者社区的合作,推出开放的HarmonyOS 4.0版本。该版本将进一步提升HarmonyOS的开放性和生态环境,鼓励更多开发者加入HarmonyOS的生态建设,共同推动技术创新和产业发展。 总体来说,HarmonyOS的开发路线图注重渐进式发展,以逐步覆盖各个领域和设备类型,并通过与开发者和合作伙伴的紧密合作,共同推进HarmonyOS的应用和发展,构建全场景智能生态系统。在未来的几年里,HarmonyOS有望成为一个具有全球影响力的操作系统,为用户提供更流畅、开放和智能的使用体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值