Für ein einfaches Kontrollkästchen mit einem an ein FormControl gebundenen Zeichenfolgenwert:
%Vor% %Vor%Die Ausgabe des Subskriptions ist wahr, falsch, wahr, falsch .... Ich möchte, dass die eckige 2 den Zeichenfolgenwert "MyValue" im FormControl bindet.
In der Standardeinstellung scheinen angular 2, FormControl und checkboxes boolesche Werte zu binden, was merkwürdig ist, da das standardmäßige Browser-Sendeverhalten den Wert des Kontrollkästchens und im Falle mehrerer Kontrollkästchen mit demselben Namen ein Array von Kontrollkästchenwerten sendet gebunden an den Namen der Checkboxen.
Wäre ziemlich nutzlos zu übermitteln:
%Vor%Anstelle von:
%Vor%Also im Wesentlichen: Wie macht man den String-Wert, nicht den booleschen Wert, mit angular 2?
Mit freundlichen Grüßen
Ich glaube, ich habe Ihr (und mein) Problem gelöst, indem ich eine benutzerdefinierte Direktive verwendete, die den CheckboxControlValueAccessor standardmäßig überschreibt. Angular2 Core setzt das onChange-Ereignis, um auszulösen, ob das Kontrollkästchen aktiviert ist oder nicht. Der folgende Code löst ein Objekt mit der Frage aus, ob es aktiviert ist und der Wert. Sie müssen nur das html-Element als Eingabe des Kontrollkästchens type festlegen und den Wert, den Sie verfolgen möchten, mit [value] = {valueToTrack}
verknüpfen %Vor%Tags und Links angular checkbox angular2-forms