Я использую «Angularized» версию элемента управления Spin, как описано здесь: http://blog.xvitcoder.com/adding-a-weel-progress-indicator-to-your-angularjs-application/
Одна из вещей, которые мне не нравятся в показанном решении, - это использование jQuery в сервисе, который эффективно прикрепляет управление вращением к элементу DOM. Я бы предпочел использовать угловые конструкции для доступа к элементу. Я также хотел бы избежать «жесткого кодирования» идентификатора элемента, к которому должен подключиться счетчик, внутри службы и вместо этого использовать директиву, которая устанавливает идентификатор в службе (singleton), чтобы другие пользователи службы или Сам сервис не должен знать это.
Я борюсь с тем, что angular.element дает нам против того, что document.getElementById на том же элементе id дает нам. например. Это работает:
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? Очевидно, что Angular «оборачивает» элемент своими свойствами, методами и т. Д., Но зачастую трудно получить исходное значение. Например, если у меня есть <input type='number'>
поле и я хочу получить доступ к исходному содержимому, которое видно в пользовательском интерфейсе, когда пользователь вводит «-» (без кавычек), я ничего не получаю, предположительно, потому что «type = number» означает, что Angular отклоняет ввод, даже если он виден в пользовательском интерфейсе, и я хочу его увидеть, чтобы я мог проверить его и очистить.
Любые указатели / ответы приветствуются.
Спасибо.