javascript - Hur man använder onBlur-händelsen i Angular2?
Hur upptäcker man ett onBlur-event i Angular2? Jag vill använda det med
<input type="text">
Kan någon hjälpa mig att förstå hur man använder det?
Svar #1
Använd (eventName) när du binder en händelse till DOM, i princip används () för händelsebindning. Använd också ngModel för att få tvåvägsbindning för myModel-variabeln.
Markup
<input type="text" [(ngModel)]="myModel" (blur)="onBlurMethod()">
Kod
export class AppComponent {
myModel: any;
constructor(){
this.myModel = '123';
}
onBlurMethod(){
alert(this.myModel)
}
}
Demo
Alternativ 1
<input type="text" [ngModel]="myModel" (ngModelChange)="myModel=$event">
Alternativ 2 (inte att föredra)
<input type="text" #input (blur)="onBlurMethod($event.target.value)">
Demo
För ett modellstyrt formulär att utlösa validering vid blur, kan du använda updateOn-parametern.
ctrl = new FormControl('', {
updateOn: 'blur', //default will be change
validators: [Validators.required]
});
Design-dokument
Svar #2
Du kan också använda (focusout)-händelsen:
Använd (eventName) när du binder ett event till DOM, i princip används () för eventbindning. Du kan också använda ngModel för att få tvåvägsbindning för din model. Med hjälp av ngModel kan du manipulera värdet på model-variabeln inuti din component.
Gör detta i HTML-fil
<input type="text" [(ngModel)]="model" (focusout)="someMethodWithFocusOutEvent($event)">
Och i din (komponent) .ts-fil
export class AppComponent {
model: any;
constructor(){ }
/*
* This method will get called once we remove the focus from the above input box
*/
someMethodWithFocusOutEvent() {
console.log('Your method called');
// Do something here
}
}
