ArkUI 如何将$r(’app.string.xxx‘) 转成string字符串

一、正常引用字符串资源文件内容

ArkUI 中,string.json 中的字符串资源正常情况下使用如下方式引用:

@Entry
@Component
struct LoginPage {build() {Column() {Text($r('app.string.title'))}}}

二、资源转string类型

上面的代码没问题是因为 Text(content?: string | Resource) 内的参数是可以接收 string 或者 Resource 类型的

但是在某些组件的入参并不支持 Resource 类型,比如 RichText(content: string),它只接收一个不可为空的字符串类型,这个时候想使用 string.json 内的资源,就需要用到 resourceManager 了。

@Entry
@Component
struct LoginPage {build() {Column() {Text($r('app.string.title'))// toString() 可以省略	  RichText(getContext(this).resourceManager.getStringSync($r('app.string.title')).toString())}}}

三、更多 API

附上:resourceManager 官方的 API 文档

resourceManager 内相关 string 的重载函数还有很多,反正就是支持不同入参的同步、异步形式加载:

getString(resld: number, callback: AsyncCallback<string>): void
getString(resld: number): Promise<string>
getStringValue(resource: Resource, callback: _AsyncCalback<string>): void
getStringValue(resource: Resource): Promise<string>
getStringArray(resld: number, callback: AsyncCallback<Array<string>>): void
getStringArray(resld: number): Promise<Array<string>>
getStringArrayValue(resource: Resource, callback:_AsyncCallback<Array<string>>): void
getStringArrayValue(resource: Resource): Promise<Array<string>>
getStringByName(resName: string, callback: AsyncCallback<string>): void
getStringByName(resName: string): Promise<string>
getStringArrayByName(resName: string, callback:_AsyncCallback<Array<string>>): void
getStringArrayByName(resName: string): Promise<Array<string>>: void
getPluralStringByName(resName: string, num: number, callback: _AsyncCallback<string>): void
getPluralStringByName(resName: string, num: number): Promise<string>
getStringSync(resld: number): string
getStringSync(resource: Resource): string
getStringByNameSync(resName: string): string

图片的看起来应该更直观
在这里插入图片描述
在这里插入图片描述

四、注意

需要注意的是 getContext(this) 方法,除了在 Abliity 里可以自由调用,并不能在正常的容器组件内的代码块里调用,通常只能在上面这种函数入参或者 onClick 这种事件的箭头函数的代码块里才能调用,举个栗子:

// 错误方式,会静态检查报错
let ctx = getContext(this)// 正确方式 1
Button(getContext(this).resourceManager.getStringSync(0x11).toString())// 正确方式 2
Button('登录').onClick((e) => {let ctx = getContext(this)
})// 其他场景暂时还没研究过

以上就是本文的全部内容,感兴趣可以关注专栏,会持续更新…

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/177163.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何通过内网穿透实现公网远程ssh连接kali系统

文章目录 1. 启动kali ssh 服务2. kali 安装cpolar 内网穿透3. 配置kali ssh公网地址4. 远程连接5. 固定连接SSH公网地址6. SSH固定地址连接测试 简单几步通过[cpolar 内网穿透](cpolar官网-安全的内网穿透工具 | 无需公网ip | 远程访问 | 搭建网站)软件实现ssh远程连接kali 1…

Unity播放网络视频

using System.Collections; using System.Collections.Generic; using UnityEngine; using Mx.UI; using Mx.Utils; using UnityEngine.UI; using UnityEngine.Video; /// <summary> 视频UI面板 </summary> public class VideoUIForm : BaseUIForm { private …

第十七章 处理空字符串和 Null 值 - XMLIGNORENULL、XMLNIL 和 XMLUSEMPTYELEMENT 的详细信息

文章目录 第十七章 处理空字符串和 Null 值 - XMLIGNORENULL、XMLNIL 和 XMLUSEMPTYELEMENT 的详细信息XMLIGNORENULL、XMLNIL 和 XMLUSEMPTYELEMENT 的详细信息XMLIGNORENULLXMLNILXMLUSEEMPTYELEMENT 导入值 第十七章 处理空字符串和 Null 值 - XMLIGNORENULL、XMLNIL 和 XML…

MATLAB算法实战应用案例精讲-【图像处理】图像增强

目录 前言 知识储备 图像文本 提取函数 1. pytesseract 2. EasyOCR 3. Keras-OCR 4. TrOCR

销售流程中如何有效开发客户

在销售的海洋中&#xff0c;如何游刃有余地开发客户是一大关键。这需要深入了解你的目标客户&#xff0c;制定一份精细的销售计划&#xff0c;选择最合适的沟通方式&#xff0c;建立信任和信誉&#xff0c;并持续不断地跟进。 每一个潜在的客户都是一颗璀璨的星辰&#xff0c;…

【密码学引论】Hash密码

第六章 Hash密码 md4、md5、sha系列、SM3 定义&#xff1a;将任意长度的消息映射成固定长度消息的函数功能&#xff1a;确保数据的真实性和完整性&#xff0c;主要用于认证和数字签名Hash函数的安全性&#xff1a;单向性、抗若碰撞性、抗强碰撞性生日攻击&#xff1a;对于生日…

软件开发面试题

计算机网络HTTP&#xff0c;HTTPSTCP&#xff0c;UDP MySQL关键字事务索引锁概念备份&#xff0c;日志 Redis锁【分布式锁】数据【底层&#xff0c;常用数据结构&#xff0c;redis 介绍】缓存【数据一致性&#xff0c;缓存雪崩...&#xff0c;过期删除&#xff0c;内存淘汰】持…

Ubuntu 设置Nginx开机自启

1.建立自启动服务文件 vim /usr/lib/systemd/system/nginx.service Descriptionnginx - high performance web server Afternetwork.target remote-fs.target nss-lookup.target [Service] Typeforking ExecStart/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx…

【libGDX】Mesh立方体贴图(6张图)

1 前言 本文通过一个立方体贴图的例子&#xff0c;讲解三维纹理贴图的应用&#xff0c;案例中使用 6 张不同的图片给立方体贴图&#xff0c;图片如下。 读者如果对 libGDX 不太熟悉&#xff0c;请回顾以下内容。 使用Mesh绘制三角形使用Mesh绘制矩形使用Mesh绘制圆形使用Mesh绘…

Android12强制所有应用跟随gsensor旋转

前言 Android12系统中如果机器带gsensor,竖屏应用如果固定了竖屏,当机器旋转为横屏,竖屏应用是不会转到横屏显示的,还是竖屏显示。抖音这种app就是这样的。因为app里面manifest文件中通过android:screenOrientation固定住了竖屏显示。如果要让横屏的时候app也能够横屏显示,…

Current request is not a multipart request问题排查

概述 在应用工程里看到如下被标记为deprecated的代码&#xff0c;这对有代码洁癖的我而言是无法忍受的&#xff1a; row.getCell(10).setCellType(Cell.CELL_TYPE_STRING); String hospital row.getCell(0).getStringCellValue();对应的poi版本号&#xff1f;是的&#xff…

MySQL安装与配置教程

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…

初刷leetcode题目(9)——数据结构与算法

&#x1f636;‍&#x1f32b;️&#x1f636;‍&#x1f32b;️&#x1f636;‍&#x1f32b;️&#x1f636;‍&#x1f32b;️Take your time ! &#x1f636;‍&#x1f32b;️&#x1f636;‍&#x1f32b;️&#x1f636;‍&#x1f32b;️&#x1f636;‍&#x1f32b;️…

Feign调用的两种方式

一、 先看一下项目结构 ply模块是主要的业务模块&#xff0c;upms是用户管理模块 他们都分为api和biz 其中api就是一些实体类&#xff0c;工具类&#xff0c;biz就是业务逻辑代码。 首先在upms-api中建立feign的文件夹&#xff0c;然后新建一个接口CustomApi CustomApi 然…

(Linux2.6内核)进程调度队列与切换

个人主页&#xff1a;Lei宝啊 愿所有美好如期而遇 我们首先来了解几个概念 1. 进程在CPU上运行的时候&#xff0c;一定要运行完才行吗&#xff1f;答案是否定的&#xff0c;我们大部分的操作系统&#xff0c;主流就是分时操作系统&#xff0c;即基于时间片进程轮转执行的。 …

Nginx Openresty通过Lua+Redis 实现动态封禁IP

需求 为了封禁某些爬虫或者恶意用户对服务器的请求&#xff0c;我们需要建立一个动态的 IP 黑名单。对于黑名单中的 IP &#xff0c;我们将拒绝提供服务。并且可以设置封禁失效时间 环境准备 linux version: centos7 / ubuntu 等 redis version: 5.0.5 nginx version: nginx…

智能优化算法应用:基于正余弦算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于正余弦算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于正余弦算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.正余弦算法4.实验参数设定5.算法结果6.参考文献7.…

学习知识回顾随笔

文章目录 如何远程连接MySQL数据库1.创建用户来运行&#xff0c;此用户从任何主机连接到mysql数据库2.使用IP地址来访问MySQL数据库 如何远程访问Django项目Web应用什么是Web应用应用程序的两种模式Web应用程序的优缺点 HTTP协议&#xff08;超文本传输协议&#xff09;简介HTT…

FLASK博客系列4——再谈路由

最近好像拖更有点久了。抱歉抱歉~ 今天我们继续来聊聊路由&#xff08;其实就是我上次偷懒剩下一点没讲完&#xff09;。 通过上次的文章&#xff0c;我们基本了解了Flask中的路由&#xff0c;是不是比较简单呢&#xff1f;别急&#xff0c;今天来点猛料。 一、路由之HTTP方法绑…

[2]相机标定、与机器人手眼标定

抓取实验平台硬件包含&#xff1a;深度相机、计算机、机械臂、置物台 标定过程涉及四个坐标系&#xff1a;世界坐标系、图像像素坐标系、图像物理坐标系、相机坐标系。 相机内参&#xff1a;从相机坐标系到图像坐标系相机外参&#xff1a;从世界坐标坐标系到相机坐标系 相机…