Angularjs Angular/JS在一个方法中获得两个$event.target.value
我正在尝试从->到搜索邮政编码。我有两个输入字段和一个简单的方法。是否可以使用具有2个参数的方法? 以下是我的方法:Angularjs Angular/JS在一个方法中获得两个$event.target.value,angularjs,angular,Angularjs,Angular,我正在尝试从->到搜索邮政编码。我有两个输入字段和一个简单的方法。是否可以使用具有2个参数的方法? 以下是我的方法: searchPostalCode(from:number, to:number):void{ console.log('from:' + from); console.log('to:' + to); } 以及我的意见: <input type="text" class="form-control col-sm-1&qu
searchPostalCode(from:number, to:number):void{
console.log('from:' + from);
console.log('to:' + to);
}
以及我的意见:
<input type="text" class="form-control col-sm-1" placeholder="from" (input)=searchPostalCode($event.target.value)>
<input type="text" class="form-control col-sm-1" placeholder="to" (input)=searchPostalCode($event.target.value)>
我想说最简单的方法是在组件上有两个属性和两个方法来更新它们:
postalCodeFrom: number;
postalCodeTo: number;
updateFrom(value: number): void {
this.postalCodeFrom = value;
this.search();
}
updateTo(value: number): void {
this.postalCodeTo = value;
this.search();
}
search(): void {
// Make better checks - this will fail on 0
if (!this.postalCodeFrom || !this.postalCodeTo) {
// run some logic?
return;
}
// run the actual search.
}
然后将您的输入绑定到该方法:
<input type="text" class="form-control col-sm-1" placeholder="from" (input)=updateFrom($event.target.value)>
<input type="text" class="form-control col-sm-1" placeholder="to" (input)=updateTo($event.target.value)>
当然还有其他的方法(比如使用RxJS),但是上面的方法应该足够好了。也许您应该使用表单模块并执行类似的操作
myForm: FormGroup;
from = '';
to = '';
恩戈尼特内部:
this.myForm = this.formBuilder.group({
from: [this.from],
to: [this.to]
});
this.myForm.controls['from'].valueChanges.subscribe(value => {
console.log(value);
});
this.myForm.controls['to'].valueChanges.subscribe(value => {
console.log(value);
});
和HTML:
<form [formGroup]="myForm">
...
<input type="text" name="from" [(ngModel)]="from" formControlName="from" placeholder="from"/>
<input type="text" name="to" [(ngModel)]="to" formControlName="to" placeholder="to"/>
...
</form>
...
...