Używam wersji Angularized kontrolki Spin, zgodnie z dokumentacją tutaj: http://blog.xvitcoder.com/adding-a-weel-progress-indicator-to-your-angularjs-application/
Jedną z rzeczy, które nie podobają mi się w przedstawionym rozwiązaniu, jest użycie jQuery w usłudze, która skutecznie łączy kontrolę spinów z elementem DOM. Wolałbym używać konstrukcji kątowych, aby uzyskać dostęp do elementu. Chciałbym również uniknąć „zakodowania” identyfikatora elementu, do którego spinner musi dołączyć w ramach usługi, i zamiast tego użyć dyrektywy, która ustawia identyfikator w usłudze (singleton), tak aby inni użytkownicy usługi lub sama usługa nie musi tego wiedzieć.
Zmagam się z tym, co daje nam angular.element, a co document.getElementById na tym samym elemencie, który daje nam identyfikator. na przykład. To działa:
var target = document.getElementById('appBusyIndicator');
Żadne z tych nie działa:
var target = angular.element('#appBusyIndicator');
var target = angular.element('appBusyIndicator');
Wyraźnie robię coś, co powinno być dość oczywistym złem! Czy ktoś może pomóc?
Zakładając, że powyższe zadziała, mam podobny problem z próbą zastąpienia dostępu jQuery do elementu: np. $(target).fadeIn('fast');
Działa
angular.element('#appBusyIndicator').fadeIn('fast')
lub angular.element('appBusyIndicator').fadeIn('fast')
nie działa
Czy ktoś może wskazać mi dobry przykład dokumentacji wyjaśniającej użycie „elementu” Angular w porównaniu z elementem DOM? Angular oczywiście „otacza” element własnymi właściwościami, metodami itp., Ale często trudno jest uzyskać oryginalną wartość. Na przykład, jeśli mam <input type='number'>
pole i chcę uzyskać dostęp do oryginalnej zawartości, która jest widoczna w interfejsie użytkownika, gdy użytkownik wpisze „-” (bez cudzysłowów), nic nie otrzymuję, prawdopodobnie dlatego, że „type = number” oznacza, że Angular odrzuca dane wejściowe, mimo że są widoczne w interfejsie użytkownika i chcę je zobaczyć, aby móc je przetestować i wyczyścić.
Wszelkie wskazówki / odpowiedzi mile widziane.
Dzięki.