Das Problem ist, ich benutze Ui-Router und ich habe zwei Ansichten, eine ist eine Art Symbolleiste, zweite ist Inhalt mit einem Formular.Angular.js - gibt Formularvalidierung irgendwelche Ereignisse aus?
Jetzt würde ich gerne eine Schaltfläche zum Speichern in der Symbolleiste haben, die deaktiviert wäre, wenn Formular nicht $valid
wäre. Aber diese beiden sind auf ganz andere Bereiche, es ist wie:
- rootScope
- Symbolleiste Umfang
- Inhalt Umfang (mit
form.$valid
)
Also dachte ich, ich würde Sie können damit umgehen, indem Sie auf eine Art von $ valid-Ereignissen warten, die vom Formular ausgegeben werden.
Nach dem, was Vojta sagte here diese Ereignisse existieren sollte, aber ich kann sie nicht überall angegeben finden .. und bei this Suche ich sehe keine Ereignisse ..
ich wahrscheinlich
tun könnte$scope.$watch('form.$valid', function(newVal, oldVal) {
$scope.$emit('validityChange', {'form':newVal});
});
aber es fühlt sich an wie Ereignisse mit, anstatt dies würde
besser Oder sollte ich versuchen, etwas ganz anderes? Beachten Sie, dass ich die UI-Ansicht der Symbolleiste nicht in die UI-Ansicht des Inhalts einfügen kann und entsprechend this, zwei UI-Ansichten können einfach nicht den gleichen Bereich haben.
War diese Antwort nicht angemessen? –