HarmonyOS 在方法内部,通过字符串变量或者常量作为参数取不到正确的resource

操作步骤:

1、使用以下代码:

Button('点我 ').onClick(() => {
  let  r1 = $r('app.color.same_chart_pie_red')
  const key = 'app.color.same_chart_pie_red'
  let r2 = $r(key)
  console.log(`${r1.id}`);
  console.log(`${r2.id}`);

})

2、使用当前项目的颜色key。

3、运行调试。

问题现象:

1、通过字符串作为参数可以正确拿到resource r1。

2、通过字符串常量或者变量作为参数拿不到正确的resource r2。

HarmonyOS
2024-12-23 16:04:49
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zbw_apple

$r()是编译时处理,不支持程序运行时动态改变,运行时推荐使用ResourceManager对资源文件进行访问。

参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-faqs-V5/faqs-localization-10-V5

分享
微博
QQ
微信
回复
2024-12-23 19:40:23
相关问题
如何实现ArkUI组件字符串变量拼接?
878浏览 • 1回复 待解决
如何实现ArkUI组件字符串变量拼接
3245浏览 • 1回复 待解决
检查字符串是否以给定字符串开头
1034浏览 • 1回复 待解决
HarmonyOS string字符串sha1加密方法
294浏览 • 1回复 待解决
HarmonyOS将对象转换成字符串方法
1160浏览 • 1回复 待解决
检查字符串是否以给定字符串结尾
837浏览 • 1回复 待解决
字符串反射
381浏览 • 1回复 待解决