关于这个主题,我似乎找不到足够明确的答案,所以我问一个问题:
例如,在C#中,我可以执行以下操作:
var text = "blah blah";
var strTest = String.Format("This is a {0}", text); //output: 'This is a blah blah'
我如何在Typescript中实现这一目标?
用法:
我正在从environment.ts文件中加载URL,此字符串URL将需要包含占位符,并且在我的服务层中,将占位符替换为需要传递的实际参数。
答案 0 :(得分:4)
在我看来,使用template string比String.Format
好得多,因为它们不会遇到索引编制错误(占位符错误)的问题:
var text = "blah blah";
var strTest = `This is a ${text}`;
console.log(strTest);
如果我不知道我需要传入的变量名,该怎么办?
然后包装一个函数,例如
const gen = (text) => `This is a ${text}`;
答案 1 :(得分:4)
我建议在Convert
文件中使用匿名生成器函数,以便您可以传递所需的变量,并使模板字符串包含在该函数中。像这样:
environments.ts
System.object
其他一些文件:
targetType
答案 2 :(得分:0)
有一个名为 localized-strings 的 npm 包,它有一个 formatString 方法,可用于以 C# 方式进行字符串插值。
import LocalizedStrings, {LocalizedStringsMethods} from "localized-strings";
interface IStrings extends LocalizedStringsMethods{
}
const localizedStrings: IStrings = new LocalizedStrings({en: {}});
const result = localizedStrings.formatString("This is a {0}", "Text").toString();
console.log(result);
更多示例here