【HarmonyOS NEXT】entry中的图片资源,如何传递资源路径给子模块使用

【关键字】

Image自定义组件 / Resource类型

【问题描述】

问题一:

工程含一个entry和一个library,entry使用library的一个含Image的自定义组件,期望可以用entry中的图片来动态设置library中的Image,该如何操作?类似 Image($r('app.media.xxx')) 的形式是可以读到目标资源的,但如果在自定义组件中定义一个变量(imgPath: string = 'app.media.xxx'),然后 Image($r(this.imgPath))就加载不出来图片了。

问题二:

1、$r('xxx') 拿到的是一个资源的完整数据么?如果是,这种方式是否内存成本相对高一些?比如一些参数配置在model中时,还没有放到UI中呈现时,其就把资源的信息完整加载了。

2、鸿蒙在设计时是考虑过上述场景,并且建议的处理方式就是直接传 $r('xxx') 么?有没有一些这么做的考量思路可以Share的?

【解决方案】

问题一:

在定义变量时尝试将$r('app.media.xxx')整个一起定义,该类型为Resource类型,

例如:@State icon:Resource = $r('app.media.app_icon')

在使用时则是:Image(this.icon)

问题二:

1、是资源的完整数据,内存成本相对高一些。

2、并不是建议写成$r('xxx')的形式,这个只是一种解决方案,因为当前不支持参数直接传入图片资源路径的形式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值