使用@ViewChild获取具有相同模板名称的多个输入的nativeElement

时间:2018-04-23 09:58:53

标签: angular

如何使用@viewChild获取具有相同模板名称的多个输入的nativeElement值。

我正在使用这种方式

@ViewChild('exLimit') exLimitRef;
<input type="text" #exLimit (blur)="getVal()">
<input type="text" #exLimit (blur)="getVal()">

getVal(){
 console.log(this.exLimitRef);//This will give only first input values
}

有没有办法让每个元素值模糊事件

2 个答案:

答案 0 :(得分:2)

此代码正常运行,它返回一个ngModel数组,其中两个元素都使用相同的模板名称签名

<强>打字稿:

@ViewChildren('childrenFlagInfo') childrenFlagInfo: QueryList<NgModel>;

<强>模板:

<seg-checkbox #childrenFlagInformativaBox  
              [(ngModel)]="dto.privacy.flagDocumentiViaEmail">
</seg-checkbox>

<seg-checkbox #childrenFlagInformativaBox  
              [(ngModel)]="dto.privacy.flagPrivacy">
</seg-checkbox>

当然,您可以返回templateRef或任何您想要的内容,只需在viewChildren中指定type即可。在getVal()中,您必须将childrenFlagInfo数组循环到控制台日志中。

答案 1 :(得分:-1)

使用ViewChildren装饰器。

要查看其工作原理,请查看 this stackblitz the documentation