项目中很多UI是使用$r('app.string.EntryAbility_label') 方式绑定值得,
那么有些地方不需要使用UI组件,但是想获取$r('app.string.EntryAbility_label')的value值;
比如:arkui 提示组件
prompt.showToast({message: ($r('app.string.enter_phone'),duration: 2000,bottom:'70' });
这个时候发现传的message值时[object obje]
解决方法
$r当前不支持嵌套,第二个参数需要使用ResourceManager获取应用资源对应字符串赋值给$r第二个参数。参考代码如下:
prompt.showToast({message: this.context.resourceManager.getStringSync($r('app.string.enter_phone')),duration: 2000,bottom:'70' });
使用这个方法this.context.resourceManager.getStringSync()就可以了