HarmonyOS 鸿蒙Next是否有string的占位符
HarmonyOS 鸿蒙Next是否有string的占位符
android中有类似string中占位的用法,可以拼接可变参数,如 第%1$d份请选择%2$s 可以动态展示不同的string,且可以很方便的做中英文适配,鸿蒙中有吗?
2 回复
let a = '变量A'
let b = '变量B'
let str = `测试字符串${a},字符串${b}`
console.log(str);
很抱歉目前没有找到类似占位的用法,不过可以通过resource资源转字符串的方式来做这种模板拼接。demo如下:
resource资源转字符串可以封装成一个通用方法,以下代码因为用到了context,需要在模拟器或真机运行。
import common from '@ohos.app.ability.common';
@Entry
@Component
struct Demo {
private context = getContext(this) as common.UIAbilityContext
@State message: string = '22222'
onPageShow() {
let a = this.rs2str($r('app.string.app_name'))
let b = this.rs2str($r('app.string.module_desc'))
this.message = `${a}:${b}`
}
rs2str(resource :Resource){
let str = this.context.resourceManager.getStringSync(resource.id)
return str
}
build() {
Column(){
Text(this.message)
}
.width('100%').height('100%').justifyContent(FlexAlign.Center)
}
}
需要拼接可变参数的字符串,可以使用模板字符串的语法实现,使用反向单引号(`)括起来,使用${}包裹变量:
更多关于HarmonyOS 鸿蒙Next是否有string的占位符的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html