2016-01-21 20 views

risposta

96

Utilizzare (eventName) per l'evento di associazione al DOM, in pratica () viene utilizzato per il binding di eventi. Utilizzare anche ngModel per ottenere il bind a due vie per la variabile myModel.

Markup

<input type="text" [(ngModel)]="myModel" (blur)="onBlurMethod()"> 

Codice

export class AppComponent { 
    myModel: any; 
    constructor(){ 
    this.myModel = '123'; 
    } 
    onBlurMethod(){ 
    alert(this.myModel) 
    } 
} 

Demo

alternativa (non è preferibile)

<input type="text" #input (blur)="onBlurMethod($event.target.value)"> 

Demo


Per il modello guidato forma al fuoco convalida blur, potreste passare updateOn parametro.

ctrl = new FormControl('', { 
    debounce: 1000, 
    updateOn: 'blur', //default will be change 
    validators: [Validators.required] 
}); 

Design Docs

+2

(sfocatura) evento non funziona in IE11. Qualche lavoro in giro? –

+4

Appena testato su IE11 (11.0.9600) e ha funzionato alla perfezione! – Timigen

+4

E riguardo le forme reattive? Come farlo in forme reattive. – ATHER

0
/*for reich text editor */ 
    public options: Object = { 
    charCounterCount: true, 
    height: 300, 
    inlineMode: false, 
    toolbarFixed: false, 
    fontFamilySelection: true, 
    fontSizeSelection: true, 
    paragraphFormatSelection: true, 

    events: { 
     'froalaEditor.blur': (e, editor) => { this.handleContentChange(editor.html.get()); }} 
0

Questa è la soluzione proposta sul repo Github:

// example without validators 
const c = new FormControl('', { updateOn: 'blur' }); 

// example with validators 
const c= new FormControl('', { 
    validators: Validators.required, 
    updateOn: 'blur' 
}); 

Github : feat(forms): add updateOn blur option to FormControls

0

si può usare direttamente (sfocatura) evento nel tag input .

<div> 
    <input [value] = "" (blur) = "result = $event.target.value" placeholder="Type Something"> 
    {{result}} 
</div> 

e otterrete output in "risultato"

Problemi correlati