2016-06-13 3 views
0

Ich möchte eine Aktion ausführen (das Formular wird grundsätzlich gesendet), wenn eine in ein Eingabefeld eingegebene Zeichenfolge eine bestimmte Länge erreicht, mit Angular2. Ich habe versucht, Angular2's Controls zu verwenden, aber es schien nicht dafür gedacht zu sein.Eine Aktion ausführen, wenn die Eingabe den Anforderungen entspricht

Ich könnte es mit jQuery oder Vanille Javascript tun, aber ich frage mich, ob es eine mehr "Angular2" Weg, es zu tun war.

Dieses Framework ist relativ neu, ich kann keine Lösung im Internet finden, obwohl es wahrscheinlich sehr einfach ist. Hat jemand eine Idee?

Vielen Dank.

+0

Bind, 'ng-change' Richtlinie und rufen' submit-handler' wenn Test bestanden ist! – Rayon

+0

Entschuldigung, ich hätte unterstreichen müssen, dass ich nach einer Angular2-Lösung suche. –

+0

@ojathelonius Ich denke, das Angular 2 entspricht der Schnittstelle "OnChange" in @ angular/core. – Katana314

Antwort

0

Sie könnten dem Eingang ein Steuerelement zuordnen und dessen Eigenschaft valueChanges abonnieren. Hier

ist ein Beispiel:

@Component({ 
    (...) 
    template: ` 
    <input type="text" value="{{userInput}}" 
      class="form-control" 
      [ngFormControl]="ctrl"> 
    ` 
}) 
export class SomeComponent { 
    constructor() { 
    this.ctrl = new Control(); 
    this.ctrl.valueChanges 
      .filter((value) => { 
      return (value.length > 3); 
      }) 
      .subscribe((value) => { 
      // do something 
      }); 
    } 
} 
Verwandte Themen