1、UIAbility组件与UI的数据同步方式有以下哪几种?
答案:ABC
- 使用EventHub进行数据通信:在基类Context中提供了EventHub对象,可以通过发布订阅方式来实现事件的传递。在事件传递前,订阅者需要先进行订阅,当发布者发布事件时,订阅者将接收到事件并进行相应处理。
- 使用AppStorage/LocalStorage进行数据同步:ArkUI提供了AppStorage和LocalStorage两种应用级别的状态管理方案,可用于实现应用级别和UIAbility级别的数据同步。
2、以下关于Navigation页面跳转相关方法的说法正确的是
答案:AD
pushPathByName
将name指定的NavDestination页面信息入栈,传递的数据为param。
replacePathByName
将当前页面栈栈顶退出,将name指定的页面入栈。
3、关于@LocalBuilder装饰器的特性,下列说法正确的是
答案: ABC
自定义组件内自定义构建函数
- 允许在自定义组件内定义一个或多个@LocalBuilder方法,该方法被认为是该组件的私有、特殊类型的成员函数。
- 自定义构建函数可以在所属组件的build方法和其他自定义构建函数中调用,但不允许在组件外调用。
- 在自定义函数体中,this指代当前所属组件,组件的状态变量可以在自定义构建函数内访问。建议通过this访问自定义组件的状态变量而不是参数传递。
限制条件
- @LocalBuilder只能在所属组件内声明,不允许全局声明。
- @LocalBuilder不能被内置装饰器和自定义装饰器使用。
- 自定义组件内的静态方法不能和@LocalBuilder一起使用。
4、以下关于@Builder装饰器的特性描述正确的有
答案:CD
- 私有自定义构建函数允许在自定义组件内、build方法和其他自定义构建函数中调用。
- @Builder通过按引用传递的方式传入参数,才会触发动态渲染UI,并且参数只能是一个。
- 按值传递参数,调用@Builder装饰的函数默认按值传递。当传递的参数为状态变量时,状态变量的改变不会引起@Builder方法内的UI刷新。
6、在ArkUI中,以下关于状态管理机制的描述正确的是
答案: ACD
在声明式UI编程框架中,UI是程序状态的运行结果,用户构建了一个UI模型,其中应用的运行时的状态是参数。当参数改变时,UI作为返回结果,也将进行对应的改变。这些运行时的状态变化所带来的UI的重新渲染,在ArkUI中统称为状态管理机制。
自定义组件拥有变量,变量必须被装饰器装饰才可以成为状态变量,状态变量的改变会引起UI的渲染刷新。如果不使用状态变量,UI只能在初始化时渲染,后续将不会再刷新。
7、以下关于@Builder自定义构建函数的使用描述正确的是
答案: ACD
当开发者在一个struct内使用了多个全局@Builder函数,来实现UI的不同效果时,多个全局@Builder函数会使代码维护起来非常困难,并且页面不整洁。此时,开发者可以使用wrapBuilder来封装全局@Builder。
当@Builder方法赋值给变量或者数组后,赋值的变量或者数组在UI方法中无法使用。
8、以下关于wrapBuilder描述正确的是
答案:ACD
限制条件
wrapBuilder方法只能传入全局@Builder方法。
wrapBuilder方法返回的WrappedBuilder对象的builder属性方法只能在struct内部使用。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。