J'utilise la version "angularisée" du contrôle Spin, comme documenté ici: http://blog.xvitcoder.com/adding-a-weel-progress-indicator-to-your-angularjs-application/
L'une des choses que je n'aime pas dans la solution présentée est l'utilisation de jQuery dans le service qui attache efficacement le contrôle de rotation à l'élément DOM. Je préférerais utiliser des constructions angulaires pour accéder à l'élément. Je voudrais également éviter de "coder en dur" l'identifiant de l'élément auquel le spinner doit s'attacher dans le service et utiliser à la place une directive qui définit l'identifiant dans le service (singleton) afin que les autres utilisateurs du service ou le service lui-même n'a pas besoin de le savoir.
J'ai du mal avec ce que angular.element nous donne par rapport à ce que document.getElementById sur le même élément nous donne. par exemple. Cela marche:
var target = document.getElementById('appBusyIndicator');
Aucun de ceux-ci ne:
var target = angular.element('#appBusyIndicator');
var target = angular.element('appBusyIndicator');
Je fais clairement quelque chose qui devrait être assez évident mal! Quelqu'un peut-il aider?
En supposant que je puisse faire fonctionner ce qui précède, j'ai un problème similaire en essayant de remplacer l'accès jQuery à l'élément: par exemple, $(target).fadeIn('fast');
fonctionne
angular.element('#appBusyIndicator').fadeIn('fast')
ou angular.element('appBusyIndicator').fadeIn('fast')
ne fonctionne pas
Quelqu'un peut-il me montrer un bon exemple de documentation qui clarifie l'utilisation d'un "élément" angulaire par rapport à l'élément DOM? Angular "enveloppe" évidemment l'élément avec ses propres propriétés, méthodes, etc., mais il est souvent difficile d'obtenir la valeur d'origine. Par exemple, si j'ai un <input type='number'>
champ et que je veux accéder au contenu original qui est visible dans l'interface utilisateur lorsque l'utilisateur tape "-" (sans les guillemets), je n'obtiens rien, probablement parce que le "type = nombre" signifie qu'Angular rejette l'entrée même si elle est visible dans l'interface utilisateur et que je veux la voir afin de pouvoir la tester et l'effacer.
Tous les pointeurs / réponses appréciés.
Merci.