Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/27.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
Angular 将数据从html模板传递到组件typescript文件_Angular - Fatal编程技术网

Angular 将数据从html模板传递到组件typescript文件

Angular 将数据从html模板传递到组件typescript文件,angular,Angular,下面的表格中有一个选择选项post.id将允许访问个人的idpost.name 假设用户从选项中选择了第二个选项,那么post.id将是2。当用户提交表单时,我想发送此id 我有另一种方法,当用户提交表单时,在contactForm.control.value对象中,我获取用户选择的选项的名称,然后在对象数组中搜索相应的idthis.posts。我想知道是否有另一种方法可以让我不用搜索 HTML文件 <form [formGroup]="contactForm" (ngSubmit)="

下面的表格中有一个选择选项
post.id
将允许访问个人的id
post.name

假设用户从选项中选择了第二个选项,那么
post.id
将是2。当用户提交表单时,我想发送此id

我有另一种方法,当用户提交表单时,在
contactForm.control.value
对象中,我获取用户选择的选项的名称,然后在对象数组中搜索相应的id
this.posts
。我想知道是否有另一种方法可以让我不用搜索

HTML文件

 <form [formGroup]="contactForm" (ngSubmit)="onSubmit()" class="apply-form">
   <select formControlName="post">
     <option ngFor="let post of posts" value="{{post.name}}">
     {{post.name}}
     <option>
     </select>
 <button>Submit</button>
 </form>

您的代码中缺少许多内容,但让我为您提供获取数据的选项:

<button type='submit'>Submit</button>
如果post只有Id和名称:

<option ngFor="let post of posts" value="{{post}}">
如果您想读取onSubmit方法中的值,那么

onSubmit(){
   let data = this.contactForm.value;

   // To check if form is valid or not
   if(this.contactForm.invalid)
       return;
}

希望这会有帮助

您的代码中缺少很多内容,但让我为您提供获取数据的选项:

<button type='submit'>Submit</button>
如果post只有Id和名称:

<option ngFor="let post of posts" value="{{post}}">
如果您想读取onSubmit方法中的值,那么

onSubmit(){
   let data = this.contactForm.value;

   // To check if form is valid or not
   if(this.contactForm.invalid)
       return;
}

希望这会有帮助

请更新代码,你在迭代什么<代码>。你能给我们看一下数组吗?你没有在选择中设置任何formControlName,也没有在选项中设置任何ngValue值。你的实际代码是什么?我已经更新了它。如果你想把这个值作为帖子的id,为什么要把它设置为
{{post.name}}
?如果希望将其作为字符串,请使用[value]=“post.id”;如果它不是字符串,请使用[ngValue]=“post.id”。请看,我还需要将所选选项的名称作为值发送到后端请更新代码,您在迭代什么<代码>。你能给我们看一下数组吗?你没有在选择中设置任何formControlName,也没有在选项中设置任何ngValue值。你的实际代码是什么?我已经更新了它。如果你想把这个值作为帖子的id,为什么要把它设置为
{{post.name}}
?如果希望将其作为字符串,请使用[value]=“post.id”;如果它不是字符串,请使用[ngValue]=“post.id”。请参阅,我还需要将所选选项的名称作为值发送到后端