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

时间:2019-03-21 15:02:22

标签: angular

我有一个来自jSON的文本,如下所示。我想用 USD 替换 [currency:a] ,并用 50M 替换 [currency:b] 上。请注意,这应该是动态的,我的意思是占位符可能会增加。谁能帮忙在Angular 6中做到这一点。

{
"Text":"Not to exceed [currency:a][amount:b] in respect of General Aviation liability primary lines </li><li>not to exceed [currency:c][amount:d] in respect of Airline Liability,[currency:e][amount:f]"
"placeHolderValues": {
    "a": " 'USD'",
    "b": " '50M'",
    "c": " 'GBP'",
    "d": " '100M'",
    "e": " 'HKD'",
    "f": " '150M'",
     } 
}

2 个答案:

答案 0 :(得分:1)

您可能应该使用--- title : "The title" shorttitle : "Title" author: - name : "First Author" affiliation : "1" corresponding : yes # Define only one corresponding author address : "Postal address" email : "my@email.com" - name : "Ernst-August Doelle" affiliation : "1,2" affiliation: - id : "1" institution : "Wilhelm-Wundt-University" - id : "2" institution : "Konstanz Business School" authornote: | Add complete departmental affiliations for each author here. Each new line herein must be indented, like this line. Enter author note here. abstract: | keywords : "keywords" wordcount : "X" bibliography : ["r-references.bib"] floatsintext : yes figurelist : no tablelist : no footnotelist : no linenumbers : yes mask : no draft : no documentclass : "apa6" classoption : "man,noextraspace" header-includes: - \usepackage{pdfpages} - \usepackage{setspace} - \AtBeginEnvironment{tabular}{\singlespacing} - \makeatletter\let\expandableinput\@@input\makeatother - \interfootnotelinepenalty=10000 - \usepackage{float} #use the 'float' package - \floatplacement{figure}{H} #make every figure with caption = h output : papaja::apa6_pdf --- ```{r setup, include = FALSE} library("papaja") ``` ```{r analysis-preferences} # Seed for random number generation set.seed(42) knitr::opts_chunk$set(cache.extra = knitr::rand_seed) ``` # Methods Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce sollicitudin libero id arcu accumsan sagittis. Sed vel rutrum magna, et posuere tellus. Aenean auctor maximus mauris, a dapibus lectus. Sed efficitur ultricies semper. Vestibulum dignissim mollis dui, ut rhoncus urna porttitor id. Vestibulum eget maximus tellus, molestie imperdiet nulla. Phasellus congue, libero quis sagittis porttitor, ex dui posuere leo, eget viverra nisi sapien non arcu. Ut consectetur magna quis sem fringilla, ac elementum risus suscipit. Morbi lobortis sem non ante imperdiet, in faucibus dui lobortis. Nam at lorem erat. Donec nec maximus erat, quis vehicula mi. Sed sed gravida lacus. Nam non elit enim. Maecenas finibus turpis at lectus convallis, eget congue turpis rutrum. Fusce eleifend tellus turpis, eget egestas odio mattis at. Aenean interdum lectus a orci tempus, eget sodales diam congue. Aenean ac tellus a leo auctor rhoncus. Nam condimentum, diam sit amet iaculis gravida, risus augue aliquam urna, in vestibulum eros ex quis risus. Quisque porta euismod lectus hendrerit sollicitudin. Nulla condimentum est risus, non interdum urna commodo ac. ```{r pressure, echo=FALSE} plot(pressure) ``` 来接受变量并返回整个字符串,例如:

pipe

您应该能够使其通用,以便它接受更多值和更多要替换的字符串,只需添加更多参数即可。

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

transform(currencies: string[], amounts: number[]): string {
  return `not to exceed ${currencies[0]}${amounts[0]} in respect of Airline Liability,${currencies[1]}${amounts[1]}`;
}

答案 1 :(得分:1)

进行吸气剂并将其绑定到[placeholder]。那行得通。

get text() {
  const currency = this.currency.placeHolderValues
  return `Not to exceed ${currency.a}${currency.b} in respect of General Aviation liability primary lines not to exceed ${currency.c}${currency.d} in respect of Airline Liability,${currency.e}${currency.f}`
}
<input [placeholder]="text" style="width: 100%">

stackblitz:https://stackblitz.com/edit/angular-x8u8bm