Ich habe zwei Kontrollkästchen in meinem Angular JS-Formular, so ...
%Vor%Wenn ich beide Kästchen ankreuze, schreibe den $ scope in die Konsole, beide Werte sind auf true gesetzt, aber wenn ich nur eins ankreuze, dann erscheint eins im $ scope (auf true gesetzt) und das andere ist einfach fehlt. Es sollte im $ scope sein und sicher auf 'false' gesetzt sein?
Wenn eine Eigenschaft, die ng-model
zugewiesen ist, undefiniert ist, erstellt ng-model die Eigenschaft automatisch, nachdem der Wert zum ersten Mal geändert wurde . Es bedeutet, dass du ab dem zweiten Mal beide Eigenschaften sehen wirst.
Um dies zu vermeiden, könnten Sie für beide Eigenschaften den Standardwert false
festlegen:
Sie können ngTrueValue
und ngFalseValue
verwenden. Ich benutze 1/0
benutze es dementsprechend
Von Google Docs
ngTrueValue: Der Wert, auf den der Ausdruck gesetzt werden soll, wenn er ausgewählt ist.
ngFalseValue: Der Wert, auf den der Ausdruck gesetzt werden soll, wenn er nicht ausgewählt ist.
Sie können ngChecked verwenden. Wenn der Ausdruck truthy ist, dann Das spezielle Attribut "checked" wird für das Element
gesetzt %Vor%Tags und Links javascript angularjs angularjs-scope