Я використовую "Angularized" версію управління Spin, як це задокументовано тут: http://blog.xvitcoder.com/adding-a-weel-progress-indicator-to-your-angularjs-application/
Одне з речей, яке мені не подобається у показаному рішенні, - це використання jQuery в сервісі, який ефективно прикріплює спін-контроль до елемента DOM. Я б вважав за краще використовувати кутові конструкції для доступу до елемента. Я також хотів би уникати "жорсткого кодування" ідентифікатора елемента, до якого спінеру потрібно прикріпити службу, а замість цього використати директиву, яка встановлює ідентифікатор в службі (синглтон), щоб інші користувачі служби або самому сервісу цього не потрібно знати.
Я борюся з тим, що angular.element дає нам проти того, що document.getElementById у тому самому ідентифікаторі елемента дає нам. напр. Це працює:
var target = document.getElementById('appBusyIndicator');
Нічого з цього не робить:
var target = angular.element('#appBusyIndicator');
var target = angular.element('appBusyIndicator');
Я чітко роблю щось, що має бути досить очевидним неправильним! Чи може хтось допомогти?
Якщо припустити, що я можу отримати вищезгадане, у мене є аналогічна проблема зі спробою замінити доступ jQuery до елемента: наприклад, $(target).fadeIn('fast'); працює
angular.element('#appBusyIndicator').fadeIn('fast')чи angular.element('appBusyIndicator').fadeIn('fast')ні
Чи може хтось вказати мені на хороший приклад документації, що пояснює використання кутового "елемента" проти елемента DOM? Кутовий, очевидно, «обгортає» елемент своїми властивостями, методами тощо, але часто важко отримати початкове значення. Наприклад, якщо у мене є <input type='number'>поле і я хочу отримати доступ до оригінального вмісту, який видно в інтерфейсі користувача, коли користувач вводить "-" (без лапок), я нічого не отримую, імовірно, тому що "type = number" означає, що Angular відкидає вхід, незважаючи на те, що його видно в інтерфейсі, і я хочу його бачити, щоб я міг перевірити його та очистити.
Будь-які вказівки / відповіді високо оцінені.
Дякую.