HarmonyOS har中如何获取Resources中的字符串?

我现在是在一个ets中先定义了一个根据code获取错误内容的方法,错误内容定义在Resources中。方法实现如下,但是该方法在Ability中调用就会闪退,提示”Cannot read property resourceManager of undefined“

function errorNameWithCode(code: number, type: ErrorType): string {
  return getContext().resourceManager.getStringByNameSync(`${type}_error_${code}_name`)
}

我现在期望的是这些Resources字符串能在应用程序初始化的时候就获取到

阅读 512
1 个回答

类中不能直接调用getContext()方法获取Context,可以在调用的地方,把参数传进来,参考代码如下:

class TestModel {
  constructor() {
  }
}
export default new TestModel()
//context可以作为参数,在使用的地方传进来,UIAbility中context = this.context, 调用方法:getString(this.context)
//@Component修饰的页面中context = getContext(this),调用方法:getString(getContext(this))
export function getString(context :Context) {
  let value = context.resourceManager.getStringSync($r('app.string.test_string').id);
  console.log("value = " + value)
}
logo
HarmonyOS
子站问答
访问
宣传栏