如何将占位符替换为来自Angular 6中数组的值

如何将占位符替换为来自Angular 6中数组的值,angular,Angular,我有一个来自jSON的文本,如下所示。我想将[currency:a]替换为美元,[currency:b]替换为5000万美元,以此类推。请注意这应该是动态的,我的意思是占位符可能会增加。在Angular 6中,有人能帮我做这件事吗 { “正文:“[货币:a][金额:b]不超过通用航空责任主要行的[货币:c][金额:d],[货币:e][金额:f]” “占位符值”:{ “a”:“美元”, “b”:“50米”, “c”:“英镑”, “d”:“100米”, “e”:“港币”, “f”:“150米”, }

我有一个来自jSON的文本,如下所示。我想将[currency:a]替换为美元[currency:b]替换为5000万美元,以此类推。请注意这应该是动态的,我的意思是占位符可能会增加。在Angular 6中,有人能帮我做这件事吗

{
“正文:“[货币:a][金额:b]不超过通用航空责任主要行的[货币:c][金额:d],[货币:e][金额:f]”
“占位符值”:{
“a”:“美元”,
“b”:“50米”,
“c”:“英镑”,
“d”:“100米”,
“e”:“港币”,
“f”:“150米”,
} 
}

您可能应该使用一个
管道
,它接收变量并返回整个字符串,类似于:

transform(currencies: string[], amounts: number[]): string {
  return `not to exceed ${currencies[0]}${amounts[0]} in respect of Airline Liability,${currencies[1]}${amounts[1]}`;
}
您应该能够使它成为通用的,以便它接受更多的值和更多的字符串来替换,只需添加更多的参数

然后,您可以在模板中使用管道,如:

<input type="text" [placeholder]="'base string' | addCurrencies" />

您可能应该使用一个
管道
,它接收变量并返回整个字符串,类似于:

transform(currencies: string[], amounts: number[]): string {
  return `not to exceed ${currencies[0]}${amounts[0]} in respect of Airline Liability,${currencies[1]}${amounts[1]}`;
}
您应该能够使它成为通用的,以便它接受更多的值和更多的字符串来替换,只需添加更多的参数

然后,您可以在模板中使用管道,如:

<input type="text" [placeholder]="'base string' | addCurrencies" />

制作一个getter并将其绑定到
[占位符]
。那就行了

get text(){
const currency=this.currency.placeholder值
返回`不超过${currency.a}${currency.b}的通用航空负债主行不超过${currency.c}${currency.d}的航空公司负债${currency.e}${currency.f}`
}


stackblitz:

制作一个getter并将其绑定到
[placeholder]
。那就行了

get text(){
const currency=this.currency.placeholder值
返回`不超过${currency.a}${currency.b}的通用航空负债主行不超过${currency.c}${currency.d}的航空公司负债${currency.e}${currency.f}`
}


stackblitz:

感谢您的回复。这不是输入。我需要在UI中呈现这个。最终的结果应该是对反应的肯定。我的产出应如下所示,通用航空责任主要线路不超过5000万美元,航空公司责任不超过1亿英镑,1.5亿港元。你能告诉我如何在渲染时替换它们吗?谢谢你的回复。这不是输入。我需要在UI中呈现这个。最终的结果应该是对反应的肯定。我的产出应如下所示,通用航空责任主要线路不超过5000万美元,航空公司责任不超过1亿英镑,1.5亿港元。你能告诉我如何在渲染时替换它们吗?谢谢你的回复。我的产出应如下所示,通用航空责任主要线路不超过5000万美元,航空公司责任不超过1亿英镑,1.5亿港元。你能告诉我如何在渲染时替换它们吗?可以用getter完成。我已经更新了stackblitz。嗨,我在stackblitz中看不到任何更新。。你能分享一下最新的吗。如前所述,文本需要用替换的值呈现。谢谢你的帮助,我忘记保存了。再次更新。感谢您的更新,我现在可以看到它了。在getter中,我们需要编写整个字符串。对我来说,文本是动态的,永远不知道哪个文本会出现。所以我需要一个函数,它接受文本和占位符值作为输入,并返回具有正确值的字符串。谢谢你的帮助,谢谢你的回复。我的产出应如下所示,通用航空责任主要线路不超过5000万美元,航空公司责任不超过1亿英镑,1.5亿港元。你能告诉我如何在渲染时替换它们吗?可以用getter完成。我已经更新了stackblitz。嗨,我在stackblitz中看不到任何更新。。你能分享一下最新的吗。如前所述,文本需要用替换的值呈现。谢谢你的帮助,我忘记保存了。再次更新。感谢您的更新,我现在可以看到它了。在getter中,我们需要编写整个字符串。对我来说,文本是动态的,永远不知道哪个文本会出现。所以我需要一个函数,它接受文本和占位符值作为输入,并返回具有正确值的字符串。谢谢你的帮助。