HarmonyOS 鸿蒙Next stage模型,在动态构建页面时,是否可以在@builder修饰的函数中调用@builderparam所修饰的成员

HarmonyOS 鸿蒙Next stage模型,在动态构建页面时,是否可以在@builder修饰的函数中调用@builderparam所修饰的成员 stage模型,在动态构建页面,是否可以在@builder修饰的函数中调用@builderparam所修饰的成员

实际操作

  1. 将1处的@@builderparam所修饰的成员在被@builder修饰的2中使用(此为自定义组件A)

  2. 然后将整个预览器显示纯白,并报错截图

预览器

报错信息

[phone]00-06 01:30:48.147 17644  4652 E 03900/Ace: [Engine Log]Lifetime: 0.000000s
[phone]00-06 01:30:48.147 17644  4652 E 03900/Ace: [Engine Log]Js-Engine: ark
[phone]00-06 01:30:48.147 17644  4652 E 03900/Ace: [Engine Log]page: KU_jimian/JM_dizuo_1214_01.js
[phone]00-06 01:30:48.147 17644  4652 E 03900/Ace: [Engine Log]Error message: is not callable
[phone]00-06 01:30:48.147 17644  4652 E 03900/Ace: [Engine Log]Stacktrace:
[phone]00-06 01:30:48.147 17644  4652 E 03900/Ace: [Engine Log]    at neibu_zhong (ets\KU_jimian\JM_dizuo_1214_01.ets:48:7)
[phone]00-06 01:30:48.147 17644  4652 E 03900/Ace: [Engine Log]    at render (ets\KU_jimian\JM_dizuo_1214.ets:71:27)
[phone]00-06 01:31:26.978 10480 13948 E 03900/Ace: [Engine Log]Lifetime: 0.000000s
[phone]00-06 01:31:26.978 10480 13948 E 03900/Ace: [Engine Log]Js-Engine: ark
[phone]00-06 01:31:26.978 10480 13948 E 03900/Ace: [Engine Log]page: KU_jimian/JM_dizuo_1214_01.js
[phone]00-06 01:31:26.978 10480 13948 E 03900/Ace: [Engine Log]Error message: is not callable
[phone]00-06 01:31:26.978 10480 13948 E 03900/Ace: [Engine Log]Stacktrace:
[phone]00-06 01:31:26.978 10480 13948 E 03900/Ace: [Engine Log]    at neibu_zhong (ets\KU_jimian\JM_dizuo_1214_01.ets:46:7)
[phone]00-06 01:31:26.978 10480 13948 E 03900/Ace: [Engine Log]    at render (ets\KU_jimian\JM_dizuo_1214.ets:71:27)
  1. 真机运行,程序可以运行,但是界面也是纯白显示

  2. 经过测试,问题出在如下语句

this.neibu_zidingyi()

如果只注释这一条语句,界面能够正常显示。

  1. 如果把在另外一个组件中,调用组件A(并创建与组件A 中@builderparam所修饰的成员对应的@builder修饰的函数,并回调),预览器同样也是纯白显示。

  2. 需求:想知道,stage模型,在动态构建页面时,是否可以在@builder修饰的函数中调用当前组件的@builderparam所修饰的成员。

如有解答,万分感谢


更多关于HarmonyOS 鸿蒙Next stage模型,在动态构建页面时,是否可以在@builder修饰的函数中调用@builderparam所修饰的成员的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

楼主您好,不可以,@BuilderParam装饰器修饰的属性值应为@Builder装饰的函数,参考文档使用:https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/quick-start/arkts-dynamic-ui-elememt-building.md#builderparam8

更多关于HarmonyOS 鸿蒙Next stage模型,在动态构建页面时,是否可以在@builder修饰的函数中调用@builderparam所修饰的成员的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


非常感谢回复!!!!!,

在HarmonyOS鸿蒙的Next stage模型中,关于@Builder修饰的函数与@BuilderParam所修饰的成员的使用,有以下几点说明:

可以在@Builder修饰的函数中调用@BuilderParam所修饰的成员。在鸿蒙的组件化开发模型中,@Builder注解通常用于标记一个构建函数,该函数用于动态构建页面或组件的布局。而@BuilderParam注解则用于标记构建函数中的参数,这些参数通常对应于布局文件或组件属性中的值。

@Builder修饰的函数内部,你可以自由地访问和使用这些@BuilderParam修饰的参数成员。这是因为@BuilderParam注解的参数在构建函数执行时是可用的,它们代表了组件或布局的属性值,你可以根据这些值来动态地构建和配置组件。

需要注意的是,确保在使用这些参数时,它们已经被正确地传递和初始化,以避免出现空指针异常或未定义行为。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部