Ich verwende die "Angularised" -Version des Spin-Steuerelements, wie hier dokumentiert: http://blog.xvitcoder.com/adding-a-weel-progress-indicator-to-your-angularjs-application/
Eines der Dinge, die ich an der gezeigten Lösung nicht mag, ist die Verwendung von jQuery im Service, mit dem die Spinsteuerung effektiv an das DOM-Element angehängt wird. Ich würde es vorziehen, eckige Konstrukte zu verwenden, um auf das Element zuzugreifen. Ich möchte auch vermeiden, die ID des Elements, an das der Spinner innerhalb des Dienstes anhängen muss, "fest zu codieren", und stattdessen eine Direktive verwenden, die die ID im Dienst (Singleton) so festlegt, dass andere Benutzer des Dienstes oder Der Service selbst muss das nicht wissen.
Ich kämpfe mit dem, was angle.element uns gibt, und dem, was document.getElementById auf derselben Element-ID uns gibt. z.B. Das funktioniert:
var target = document.getElementById('appBusyIndicator');
Nichts davon tut:
var target = angular.element('#appBusyIndicator');
var target = angular.element('appBusyIndicator');
Ich mache eindeutig etwas, das ziemlich offensichtlich falsch sein sollte! Kann jemand helfen?
Angenommen, ich kann das oben genannte zum Laufen bringen, habe ich ein ähnliches Problem beim Versuch, den jQuery-Zugriff auf das Element zu ersetzen: zB $(target).fadeIn('fast');
funktioniert
angular.element('#appBusyIndicator').fadeIn('fast')
oder angular.element('appBusyIndicator').fadeIn('fast')
nicht
Kann mich jemand auf ein gutes Beispiel für eine Dokumentation verweisen, die die Verwendung eines Angular- "Elements" gegenüber dem DOM-Element verdeutlicht? Angular "umschließt" das Element offensichtlich mit seinen eigenen Eigenschaften, Methoden usw., aber es ist oft schwierig, den ursprünglichen Wert zu erhalten. Wenn ich zum Beispiel ein <input type='number'>
Feld habe und auf den ursprünglichen Inhalt zugreifen möchte, der in der Benutzeroberfläche sichtbar ist, wenn der Benutzer "-" (ohne Anführungszeichen) eingibt, erhalte ich nichts, vermutlich weil "type = number" bedeutet, dass Angular ablehnt Die Eingabe, obwohl sie in der Benutzeroberfläche sichtbar ist und ich sie sehen möchte, damit ich sie testen und löschen kann.
Alle Hinweise / Antworten geschätzt.
Vielen Dank.