Ich möchte die Anzeige von Formularelementen wie dem aktivierten/deaktivierten Attribut einer Schaltfläche anpassen, indem ich die Einstellung von Angular JS pristine teste. Wenn ein Klickereignis ausgelöst wird, wird der ursprüngliche Wert des Formulars wie erwartet geändert, aber wenn ich die Bereichsvariable direkt verarbeite, wird die ursprüngliche Einstellung des Formulars nicht geändert, obwohl ein Steuerelement im Formular an diese Variable gebunden ist.
Bitte beachten Sie die folgenden JSfiddle:
http://jsfiddle.net/nicholasporter/2h7wT/3/
ich, dass das Ändern des Booleschen Wertes erwartet die Formen pristine Einstellung zu ändern verursachen würde, wenn eine Steuerung an einen Umfang Variable gebunden ist. Gibt es einen besseren Weg, das zu testen? Gibt es eine bessere Möglichkeit, Schaltflächen oder andere DOM-Elemente anzupassen, wenn sich im Formular nichts geändert hat? Vielen Dank im Voraus für alle Hinweise. Hier ist der Code für den Fall, dass die JSfiddle nicht funktioniert.
<div ng-app ng-controller="MyCtrl">
<form novalidate name="myForm">
{{myBool}}
<input type="checkbox" ng-model="myBool" />
<button ng-click="myBool=!myBool">JS set</button>
<div>Form Pristine:{{myForm.$pristine}}</div>
</form>
</div>
<script>
function MyCtrl($scope){
$scope.myBool = false;
}
</script>
manifestiert in 1.0.4 sowie –