我可以: 邀请好友来看>>
ZOL星空(中国) > 软件星空(中国) > 电脑综合星空(中国) > 软件讨论星空(中国) > 2024最新鸿蒙开发面试题合集(6)
帖子很冷清,卤煮很失落!求安慰
返回列表
签到
手机签到经验翻倍!
快来扫一扫!

2024最新鸿蒙开发面试题合集(6)

28浏览 / 0回复

vrn0hn

vrn0hn

0
精华
171
帖子

等  级:Lv.5
经  验:4175
  • Z金豆: 650

    千万礼品等你来兑哦~快点击这里兑换吧~

  • 城  市:
  • 注  册:2024-03-26
  • 登  录:2025-06-05
发表于 2024-12-11 10:10:48
电梯直达 确定
楼主

26. @Prop和@ObjectLink装饰器有什么区别?

1. 用途

@Prop装饰器:主要用于在组件之间传递数据,将父组件的值传递给子组件。它定义了子组件的属性,可以接收来自父组件的赋值。@ObjectLink用于建立对象之间的链接,通常用于在组件内部或组件之间共享和同步状态。它可以将一个对象的属性与另一个对象的属性进行链接,当一个对象的属性发生变化时,另一个对象的属性也会自动更新。

2. 数据传递方式

@Prop:是单向的数据传递,从父组件到子组件。父组件可以设置子组件的 @Prop属性值,但子组件不能直接修改这个值。@ObjectLink是双向的数据传递,父组件和子组件都可以修改子组件的 @ObjectLink属性值。

3. 性能

@Prop会深拷贝数据,具有拷贝的性能开销,性能低于 @ObjectLink


27. ForEach和LazyForEach的区别?

ForEach和LazyForEach都是用于渲染列表的装饰器,它们的区别在于:

  • ForEach:渲染列表时,会将列表中的每一项都渲染一次,适用于列表项数量较少的情况。

  • LazyForEach:渲染列表时,只渲染当前可见的列表项,适用于列表项数量较多的情况。


28. H5如何与HarmonyOS应用(webView)进行通信?官方文档

应用侧调用前端页面JS函数

应用侧可以通过runj()方法异步调用前端页面的j相关函数,并通过Promise方式返回脚本执行的结果。runj需要在loadUrl完成后,比如onPageEnd中调用。

前端页面调用应用侧函数

使用Web组件将应用侧代码注册到前端页面中,注册完成之后,前端页面中使用注册的对象名称就可以调用应用侧的函数,实现在前端页面中调用应用侧方法。注册应用侧代码有两种方式,一种在Web组件初始化调用,使用jProxy()接口。另外一种在Web组件初始化完成后调用,使用registerjProxy()接口。


29.hap、har、hsp三者的区别?

  • HAP(Harmony Ability Package)是应用安装和运行的基本单元。HAP包是由代码、资源、第三方库、配置文件等打包生成的模块包,其主要分为两种类型:entry和feature。(又称ability)

  • HAR(Harmony Archive)是静态共享包,可以包含代码、C++库、资源和配置文件。通过HAR可以实现多个模块或多个工程共享ArkUI组件、资源等相关代码。(又称static library, 静态共享包)

  • HSP(Harmony Shared Package)是动态共享包,可以包含代码、C++库、资源和配置文件,通过HSP可以实现代码和资源的共享。HSP不支持独立发布,而是跟随其宿主应用的APP包一起发布,与宿主应用同进程,具有相同的包名和生命周期。(又称shared library, 动态共享包)


30. 鸿蒙常用的装饰器有哪些?

  • @State 定义状态,当前组件能使用

  • @Prop 父子组件通信(特点:子组件数据不能修改)

  • @Link 父子组件通信(特点:子组件数据可以修改)

  • @Observed 和 @ObjectLink 父子组件通信(特点:嵌套第二层数据修改可以达到响应式,之前方案不行)

  • @Provide 和 @Consume 祖孙组件通信

  • @Builder 和 @BuilderParam 父子组件通信,通信组件数据

  • @Watch 监视数据的变化(第一次不会触发)

高级模式
星空(中国)精选大家都在看24小时热帖7天热帖大家都在问最新回答

针对ZOL星空(中国)您有任何使用问题和建议 您可以 联系星空(中国)管理员查看帮助  或  给我提意见

快捷回复 APP下载 返回列表