如何在 javascript 或打字稿字符串中插入变量值?
How do I interpolate variable values in the javascript or typescript string?
变量文件:
export class VariableSettings {
public static string_value: string = 'vikas/${id}/data';
}
其他文件。
import {VariableSettings} from './variables';
getData(id:string ){
console.log(`${VariableSettings.string_value}`, `${id}`);
// it prints vikas/${id}/data abcd11123
}`
现在我想要这样的结果 "vikas/abcd11123/data"。那么如何在该字符串中注入 id。
如有任何建议,我们将不胜感激。
谢谢
要使用内插字符串,您需要像在第二个代码段中那样使用 ``
字符串分隔符。如果您已经使用非插值字符串来保存您的设置值,则无法使用插值功能对其进行插值(您可以使用正则表达式来执行替换,但这有点混乱)。
最简单的解决方案是使字段成为一个函数,并将 id
作为参数
export class VariableSettings {
public static USER_BOOKINGS = (id: number) => `vikas/${id}/data`;
}
console.log(`${VariableSettings.USER_BOOKINGS(10)}`);
console.log(VariableSettings.USER_BOOKINGS(10)); // Or no interpolation at call site, not needed anymore if you just need the single value
USER_BOOKINGS
现在将是一个函数,它将构造字符串所需的参数作为参数。这样,字符串所需的参数清晰且类型安全。
你可以试试:
public static string_value: string = 'vikas/id/data';
let re = /id/gi;
let newstr = `${VariableSettings.USER_BOOKINGS}`.replace(re, `${id}`);
console.log(newstr);
export class VariableSettings {
id:number;
public static string_value: string;
constructor(){
this.id = 123456
VariableSettings.string_value = `vikas/${this.id}/data`;
}
ngOnInit() {
console.log(VariableSettings.string_value);
}
}
变量文件:
export class VariableSettings {
public static string_value: string = 'vikas/${id}/data';
}
其他文件。
import {VariableSettings} from './variables';
getData(id:string ){
console.log(`${VariableSettings.string_value}`, `${id}`);
// it prints vikas/${id}/data abcd11123
}`
现在我想要这样的结果 "vikas/abcd11123/data"。那么如何在该字符串中注入 id。
如有任何建议,我们将不胜感激。
谢谢
要使用内插字符串,您需要像在第二个代码段中那样使用 ``
字符串分隔符。如果您已经使用非插值字符串来保存您的设置值,则无法使用插值功能对其进行插值(您可以使用正则表达式来执行替换,但这有点混乱)。
最简单的解决方案是使字段成为一个函数,并将 id
作为参数
export class VariableSettings {
public static USER_BOOKINGS = (id: number) => `vikas/${id}/data`;
}
console.log(`${VariableSettings.USER_BOOKINGS(10)}`);
console.log(VariableSettings.USER_BOOKINGS(10)); // Or no interpolation at call site, not needed anymore if you just need the single value
USER_BOOKINGS
现在将是一个函数,它将构造字符串所需的参数作为参数。这样,字符串所需的参数清晰且类型安全。
你可以试试:
public static string_value: string = 'vikas/id/data';
let re = /id/gi;
let newstr = `${VariableSettings.USER_BOOKINGS}`.replace(re, `${id}`);
console.log(newstr);
export class VariableSettings {
id:number;
public static string_value: string;
constructor(){
this.id = 123456
VariableSettings.string_value = `vikas/${this.id}/data`;
}
ngOnInit() {
console.log(VariableSettings.string_value);
}
}