Typescript中的字符串插值,将“占位符”替换为变量

mon*_*_za 2 string-interpolation typescript angular

我似乎找不到关于该主题的足够清晰的答案,所以我问一个问题:

例如,在C#中,我可以执行以下操作:

var text = "blah blah";
var strTest = String.Format("This is a {0}", text); //output: 'This is a blah blah'
Run Code Online (Sandbox Code Playgroud)

我将如何在Typescript中实现这一目标?

用法:

我正在从environment.ts文件加载URL,此字符串URL将需要包含占位符,并且在我的服务层中,将占位符替换为需要传递的实际参数。

bas*_*rat 8

使用比我认为更好的模板字符串String.Format因为它们不会遇到索引编制错误(占位符错误)的问题:

var text = "blah blah";
var strTest = `This is a ${text}`;
console.log(strTest);
Run Code Online (Sandbox Code Playgroud)

如果我不知道变量的名称,我需要传入?

然后包装一个函数,例如

const gen = (text) => `This is a ${text}`;
Run Code Online (Sandbox Code Playgroud)

  • 我也许应该提供更多背景信息,抱歉。我正在从 environment.ts 文件加载一个 URL,这个字符串需要包含占位符,在我的服务层,用需要传入的实际参数替换占位符 (3认同)

Cer*_*rus 5

我建议在environments.ts文件中使用匿名生成器函数,以便您可以传递所需的变量,并在此函数中包含模板字符串。像这样:

环境

 export const thisIsA = (str: string) => `This is a ${str}`;
Run Code Online (Sandbox Code Playgroud)

其他一些文件:

import * as env from `environments';

var text = "blah blah";
var strTest = env.thisIsA(text); //output: 'This is a blah blah'
Run Code Online (Sandbox Code Playgroud)