Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 角度//ng选择在从数组中提取的文本上的文本区域内使用插值_Arrays_Json_Angular_String_String Interpolation - Fatal编程技术网

Arrays 角度//ng选择在从数组中提取的文本上的文本区域内使用插值

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

还是在我和Angular相处的第一天,我遇到了一个问题,我的大脑无法正常运转。 我试图实现的是创建一种将人名添加到消息模板的方法

模板是从这样的文件加载的

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我为您添加了更多解释,如果有帮助,请确保向上投票,如果答案正确,请接受:)