我不知道这是否合乎逻辑。这是我输入框的html代码。
<input type="text" id="name" #name="ngForm" [ngFormControl]="userProfileForm.controls['name']"
[(ngModel)]="loggedUserInfo.name" (change)="firechange($event,'name')"
/>这是我的火换功能
firechange($event, field){
if(this.userProfileForm.controls[field].valid){
this._userService.updateUserProfile(this.loggedUserInfo);
this._userService.loadUserData();
}
}我只想传递火变函数中的事件,而在火变化函数中,我想从事件中获得输入字段名,这样我就可以理解我表单中的输入字段触发了事件。预期的代码将会是这样的。
[ngFormControl]="userProfileForm.controls['name']"
[(ngModel)]="loggedUserInfo.name" (change)="firechange($event)"
/>
firechange($event){
if(this.userProfileForm.controls[$event.fieldname].valid){
this._userService.updateUserProfile(this.loggedUserInfo);
this._userService.loadUserData();
}
}我的理想要求是,在表单中有很多表单字段,我甚至不想在每个单独的表单字段中编写火变函数。是否有任何通用方法来调用每个输入字段的值更改特定表单的事件,而不将其写入每个输入字段?
发布于 2017-09-05 22:13:17
如果id不一样或者它可以改变,这里有更多的杠杆.
您可能想要反映元素的属性[name]属性
... #input [name]="item.name" [attr.name]="item.name" (change)="fn(input)" ...然后,
...
fn(input) {
log(input.name); // now it returns the name
}
...https://stackoverflow.com/questions/37040700
复制相似问题