Ich versuche, ngControl für benutzerdefinierte Komponente zu verwenden. Ich habe die Komponente erstellt und ControlValueAccessor
auf der Komponente implementiert.NgControl für benutzerdefinierte Direktive in Angular2
Dann im Konstruktor wird NgControl wie unten injiziert:
constructor(@Self() private ngControl: NgControl){
this.ngControl.valueAccessor = this;
}
Aber auf diese Weise, wenn ich die ngControl auf dem Selektor verwenden, werden die Formularklassen (ng-pristine , ng-touched, ng-invalid
) nicht aktualisiert wird, noch kann ich den Wert des Formularelements.
Kann mir jemand helfen, wo ich es falsch mache.
Zusätzlich zu der Beschreibung des Problems ich Thierry Templier Lösung versucht, mit den begrenzten Kenntnissen in angular2 aber ich habe in einen kreisförmigen Referenzfehler.
mehr in der Ausgabe Detaillierung habe ich eine Komponente MyComponent
, die ich verwende in einem ContainerComponent
, wenn i ngControl
in Container-Komponente verwenden, mit den beschriebenen Änderungen von Thierry Templier, gemacht MyComponent
ich den Kreisreferenzfehler erhalten, etwas wie: (MyComponent -> ngControl ..... -> token** -> MyComponent
).
Irgendwelche Vorschläge dazu.
Bitte senden Sie uns eine Demo Ihrer Komponente. – dfsq