2016-05-05 17 views
1

Ich versuche, eine untergeordnete Komponente (benutzerdefinierte Eingabe) korrekt zu aktualisieren, wenn sie geladen wird.Wie wird eine untergeordnete Komponente Angular2.RC1 beim Laden aktualisiert?

Ich bin meine Annäherung an diese Antwort: https://stackoverflow.com/a/34814189/386619 und während es funktioniert, sobald die Eingabe zur Verfügung gestellt wird, kann ich es nicht richtig angezeigt, wenn es geladen wird (mit einem leeren).

Das Verhalten Ich mag würde, um zu sehen ist:
Komponente mit leerem E-Mail-Adresse Eigentum und Kinderkomponentenbelastungen und die untergeordneten Komponente zeigt <div> mit Meldung Please enter a valid email address. sagen. Dann tippe ich eine gültige Eingabe und es geht weg. Wenn ich es lösche (oder eine ungültige Eingabe zur Verfügung stelle), kehrt es zurück (dieser Teil funktioniert jetzt).

Mein zupfen (abgeleitet von @Thierry Templier ‚s Original here): https://plnkr.co/edit/tvQhuvnN4iP2sz0wbzso?p=preview

Es ist wahrscheinlich etwas einfach, aber ich vermisse es. Ich bin auch neu in TS/JS/NG2/HTML, also hoffe ich, dass dies eine einfache Antwort für jemanden ist.

Ich benutze Angular2.RC1.

Antwort

2

Eine einfache Antwort wäre das Hinzufügen von this.inputInvalid = true in ngOnInit() oder constructor() Ihrer untergeordneten Komponenten, um den Standardstatus als ungültig zu setzen.

+1

Ich hatte dies versucht und es hat nicht funktioniert, aber ich hatte wahrscheinlich eine Menge anderer Dinge falsch, als ich es das erste Mal versuchte. – Jay

+0

Großartig, Sie könnten auch den Framework-FormBuilder-Validierungsmechanismus anstelle Ihrer eigenen Flags/Logik verwenden, https://github.com/daviddt/angular2-form-validation-example/blob/master/src/app/app.ts –

Verwandte Themen