Najnowsze tutoriale tworzenie stron internetowych
 

AngularJS Usługi


W angularjs można tworzyć własne usługi, lub użyć jednego z wielu wbudowanych usług.


Co to jest obsługa?

W angularjs usługa jest funkcją lub przedmiotem, który jest dostępny za, a ograniczają się do aplikacji angularjs.

Angularjs ma około 30 wbudowanych usług. Jednym z nich jest $location usługi.

$location usługa ma metody, które zwracają informacje o lokalizacji bieżącej stronie internetowej:

Przykład

Użyj $location usługi w kontrolerze:

var app = angular.module('myApp', []);
app.controller('customersCtrl', function($scope, $location) {
    $scope.myUrl = $location.absUrl();
});
Spróbuj sam "

Zauważ, że $location Usługa jest przekazywana do sterownika jako argument. W celu skorzystania z usługi w sterowniku, musi być zdefiniowany jako zależność.


Dlaczego warto korzystać z usług?

Dla wielu usług, takich jak $location usługi, wydaje się, że można korzystać z obiektów, które są już w DOM, jak window.location obiektu, i można, ale to ma pewne ograniczenia, przynajmniej dla aplikacji angularjs.

Angularjs stale nadzoruje swoją aplikację, a na to, aby prawidłowo obsługiwać zmian i zdarzeń, angularjs preferuje się używanie $location usługę zamiast window.location obiektu.


Usługa $ http

$http Usługa jest jednym z najbardziej powszechnych usług wykorzystywanych w zastosowaniach angularjs. Usługa wysyła żądanie do serwera i umożliwia aplikacja obsługi odpowiedzi.

Przykład

Użyj $http usługę do żądania danych z serwera:

var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope, $http) {
    $http.get("welcome.htm").then(function (response) {
        $scope.myWelcome = response.data;
    });
});
Spróbuj sam "

Przykład ten wykazuje bardzo proste wykorzystanie $http usługi. Dowiedz się więcej o $http służby w angularjs HTTP Tutorial .


Usługa $ Timeout

$timeout usługa jest wersja angularjs z działalności window.setTimeout funkcji.

Przykład

Wyświetla nową wiadomość po dwóch sekundach:

var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope, $timeout) {
    $scope.myHeader = "Hello World!";
    $timeout(function () {
        $scope.myHeader = "How are you today?";
    }, 2000);
});
Spróbuj sam "

Usługa $ odstęp

$interval usługa jest wersja angularjs z działalności window.setInterval funkcji.

Przykład

Wyświetla czas co drugi:

var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope, $interval) {
    $scope.theTime = new Date().toLocaleTimeString();
    $interval(function () {
        $scope.theTime = new Date().toLocaleTimeString();
    }, 1000);
});
Spróbuj sam "

Stwórz swój własny serwis

By stworzyć własną usługę, należy podłączyć do modułu usługę:

Tworzenie serwisu o nazwie hexafy :

app.service('hexafy', function() {
    this.myFunc = function (x) {
        return x.toString(16);
    }
});

Aby korzystać z usługi wykonane na zamówienie, dodaj go jako zależność podczas definiowania filtra:

Przykład

Użyj niestandardowych wykonane usługi o nazwie hexafy przekonwertować liczbę na liczbę szesnastkową:

app.controller('myCtrl', function($scope, hexafy ) {
    $scope.hex = hexafy .myFunc(255);
});
Spróbuj sam "

Skorzystać z usługi niestandardowe Wewnątrz filtra

Po utworzeniu usługi i podłączeniu go do aplikacji, można korzystać z usługi w dowolnym kontrolerze, dyrektywy, filtrem, a nawet wewnątrz innych usług.

Aby skorzystać z usługi wewnątrz filtra, należy go dodać jako zależność podczas definiowania filtra:

Usługa hexafy stosowany w filtrze myFormat :

app.filter('myFormat',[ 'hexafy' , function( hexafy ) {
    return function(x) {
        return hexafy .myFunc(x);
    };
}]);
Spróbuj sam "

Można użyć filtru podczas wyświetlania wartości z obiektu lub tablicy:

Tworzenie serwisu o nazwie hexafy :

<ul>
<li ng-repeat="x in counts">{{x | myFormat}}</li>
</ul>
Spróbuj sam "