Ich versuche Submit-Taste zu deaktivieren, während einige Async-Aufruf in Bearbeitung ist, aber es sieht aus wie ng-disabled
ist nicht auf Wertänderung zu beobachten. Hier ist der Code Beispiel:Ng-deaktiviert reagiert nicht auf Änderungen im Wert
Markup:
<button ng-show="!resetSuccess" class="form-input login-button" ng-disabled="changeFormError || changeFormProgress", ng-click="resetPassword(changeForm)">Send Email</button>
JS:
scope.resetPassword = function (form) {
if (form.$valid) {
scope.changeFormProgress = true; // value is changed, but ng-disable doesn't react on it
// scope.$digest(); produces an error
someAsyncCallReturningPromise.then(function() {
scope.changeFormProgress = false;
scope.changeForm.$setPristine();
}, function (err) {
scope.changeFormProgress = false;
scope.changeFormError = true; // changeFormError works ok, ng-disabled watches it
});
scope.changeFormError = true;
};
Es sieht aus wie $ verdauen nicht nach scope.changeFormProgress = true;
aus irgendeinem Grund genannt wird, aber wenn ich versuche, es hinzufügen manuell mit scope.$digest();
, habe ich Fehler Error: [$rootScope:inprog] $apply already in progress
. Gibt es also eine Möglichkeit, ng-Behinderte in dieser Situation auf Wertänderungen zu achten?
versuchen Nur-Lese-Einstellung – TNC
@TNC sorry, sieht aus wie 'ng-Read-only = "changeFormProgress"' auch nicht – snowfinch27
funktioniert Hmm ich sehe nicht, warum diese shouldn‘ t arbeiten. Könnten Sie dafür einen Plunker einrichten? – Aron