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
3天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zbw_apple

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

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

分享
微博
QQ
微信
回复
3天前
相关问题
如何实现ArkUI组件字符串变量拼接
2935浏览 • 1回复 待解决
如何实现ArkUI组件字符串变量拼接?
545浏览 • 1回复 待解决
检查字符串是否以给定字符串开头
553浏览 • 1回复 待解决
HarmonyOS将对象转换成字符串方法
613浏览 • 1回复 待解决
检查字符串是否以给定字符串结尾
438浏览 • 1回复 待解决
HarmonyOS字符串替换问题
914浏览 • 1回复 待解决
HarmonyOS 字符串显示异常
490浏览 • 1回复 待解决
HarmonyOS 替换字符串
31浏览 • 1回复 待解决
HarmonyOS Uint8Array格式转字符串方法
869浏览 • 1回复 待解决