Arrays 角度//ng选择在从数组中提取的文本上的文本区域内使用插值
还是在我和Angular相处的第一天,我遇到了一个问题,我的大脑无法正常运转。 我试图实现的是创建一种将人名添加到消息模板的方法 模板是从这样的文件加载的Arrays 角度//ng选择在从数组中提取的文本上的文本区域内使用插值,arrays,json,angular,string,string-interpolation,Arrays,Json,Angular,String,String Interpolation,还是在我和Angular相处的第一天,我遇到了一个问题,我的大脑无法正常运转。 我试图实现的是创建一种将人名添加到消息模板的方法 模板是从这样的文件加载的 this.http.get('../../assets/templatefiles/customtemplates.json').subscribe(data => {this.templateArray = data as any []; JSON文件的结构如下所示 [{ "Id": 1, &qu
this.http.get('../../assets/templatefiles/customtemplates.json').subscribe(data => {this.templateArray = data as any [];
JSON文件的结构如下所示
[{
"Id": 1,
"Type": "SR Templates",
"Name": "Message 1",
"Body": "Some meaningful text here"
},
{
"Id": 2,
"Type": "SR Templates",
"Name": "Message 2",
"Body": "Some more meaningful text here"
},
{
"Id": 3,
"Type": "GTFO Templates",
"Name": "Message 3",
"Body": "Guess what? Exactly, some even more..blahhh"
}]
到目前为止一切都很好。然后,在我的模板中,我使用ng select创建下拉列表,以显示按类型分组的选项
<ng-select [items]="templateArray"
bindLabel="Name"
bindValue="Body"
groupBy="Type"
[(ngModel)]="selectedTemplate"
>
<ng-template ng-optgroup-tmp let-item="item">
<strong>{{item.Id}}</strong>
</ng-template>
</ng-select>
我一直在上下搜索,但最终还是被卡住了,我非常希望能朝着我必须要去的方向轻轻推一下,以便将该名称与数组中的模板一起插入文本区域…您可以创建一个函数,将所选模板与输入中的名称连接起来,如下所示:
onSubmit() {
this.message = `Dear ${this.srcName}, ${this.selectedTemplate}`;
}
然后您可以添加一个执行此功能的按钮:
<button (click)="onSubmit()">Submit</button>
onSubmit() {
this.message = this.selectedTemplate.replace('{srcName}', this.srcName)
}
而不是:
"Guess what? Exactly, some even more..blahhh"
然后您必须更改onSubmit
功能:
<button (click)="onSubmit()">Submit</button>
onSubmit() {
this.message = this.selectedTemplate.replace('{srcName}', this.srcName)
}
我还向live demo添加了更改。您可以创建一个函数,将所选模板和输入中的名称连接起来,如下所示:
onSubmit() {
this.message = `Dear ${this.srcName}, ${this.selectedTemplate}`;
}
然后您可以添加一个执行此功能的按钮:
<button (click)="onSubmit()">Submit</button>
onSubmit() {
this.message = this.selectedTemplate.replace('{srcName}', this.srcName)
}
而不是:
"Guess what? Exactly, some even more..blahhh"
然后您必须更改onSubmit
功能:
<button (click)="onSubmit()">Submit</button>
onSubmit() {
this.message = this.selectedTemplate.replace('{srcName}', this.srcName)
}
我还将更改添加到了实时演示中。一旦你得到
srcName
你如何决定在数组的哪个对象中进行更改?一旦你得到srcName
你如何决定在数组的哪个对象中进行更改?很好,这是一个非常好的方向。需要找到一种方法来适应这一点,这样我就可以在句子中间的用户名是这样的信息:“@ TOTO就像在模板体的中间?”是的。理论上,srcName可以出现在不同的位置。例如“Hi-srcName,我收到了你的邮件,但无法提前回复你”或类似“Hi-Jenny,Toto来自TAC,我在电话中收到了我们的Webex会话的srcName”。@Toto你必须在你的卫生棉条内提供一个占位符,类似于”猜怎么着?确切地说{srcName},有些甚至更..blahhh“
然后使用replace()替换它
这是一个javascript函数,我将尝试帮助您实现它tomorrow@Toto我为您添加了更多的解释,请确保如果有帮助,请向上投票,如果答案正确,请接受答案:)很好,这是一个非常好的方向。需要找到一种方法来适应这一点,以便我可以在用户名类似于句子的中间部分是:“TOTO就像模板体的中间部分?是的。理论上,SRCNEX可以出现在不同的位置。例如,“嗨,SrcNeX,我收到了你的邮件,但没能早点回复你”或者“嗨,詹妮”之类的东西。Toto来自TAC,我在电话中得到了srcName,用于我们的Webex会话。@Toto您必须在tamplate中提供一个占位符,类似于“猜猜什么?确切地说,{srcName},甚至更多..blahh“
,然后使用替换()
这是一个javascript函数替换它,我会尽力帮你的tomorrow@Toto我为您添加了更多解释,如果有帮助,请确保向上投票,如果答案正确,请接受:)