En son web geliştirme öğreticiler
 

AngularJS Hizmetler


Angularjs ise kendi hizmetini yapmak veya birçok yerleşik hizmetlerden birini kullanabilirsiniz.


Bir Hizmeti nedir?

Angularjs olarak, bir hizmet bir işlev veya nesne olduğu için kullanılabilir ve sizin angularjs uygulaması ile sınırlıdır vardır.

Angularjs yaklaşık 30 dahili hizmetleri vardır. Bunlardan biri olan $location hizmeti.

$location hizmeti Geçerli web sayfasının konumu hakkında bilgi döndürür yöntemleri vardır:

Örnek

Kullan $location bir denetleyici hizmet:

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

Not $location hizmeti bağımsız değişken olarak kontrolöre geçirilir. denetleyicisi hizmeti kullanmak amacıyla, bir bağımlılık olarak tanımlanmalıdır.


Neden Hizmetleri kullanmak?

Birçok hizmet için, gibi $location hizmeti, şöyle DOM zaten nesneleri ihtiyacın var gibi görünüyor window.location nesne ve yapabildin, ama en azından angularjs uygulama için, bazı sınırlamalar var olacaktır.

Sürekli uygulamayı denetler ve düzgün değişiklikler ve olayları işlemek için, angularjs sen kullanmanızı tercih angularjs $location yerine hizmet window.location nesne.


$ Http Servisi

$http hizmet angularjs uygulamalarında en yaygın kullanılan hizmetlerden biridir. hizmet sunucusuna istekte ve uygulama tepkisini ele almanızı sağlar.

Örnek

Kullan $http sunucudan veri istemek için hizmet:

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

Bu örnek çok basit bir kullanımını gösterir $http hizmeti. Hakkında daha fazla bilgi $http hizmet angularjs Http Öğreticisi .


$ Zaman aşımı Servisi

$timeout hizmeti ait angularjs' sürümüdür window.setTimeout fonksiyonu.

Örnek

İki saniye sonra yeni bir ileti görüntüler:

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

$ Aralığı Servisi

$interval hizmeti ait angularjs' sürümüdür window.setInterval fonksiyonu.

Örnek

zaman her saniye Display:

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

Kendi hizmet oluştur

Kendi hizmetini oluşturmak için, modüle hizmetinizi bağlamak:

Bir hizmet adlandırılmış oluştur hexafy :

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

Filtreyi tanımlarken özel yapılan hizmeti kullanmak için bir bağımlılık olarak ekleyin:

Örnek

Adlı özel yapılmış hizmeti kullan hexafy onaltılık sayı bir sayı dönüştürmek için:

app.controller('myCtrl', function($scope, hexafy ) {
    $scope.hex = hexafy .myFunc(255);
});
Kendin dene "

Bir Filtre İçerisinde Özel Hizmeti kullanmak

Bir hizmeti oluşturulur ve bunun uygulamanıza bağladıktan sonra, herhangi bir kontrolör, yönerge, filtresinde hizmeti kullanmak, hatta diğer hizmetler içeride olabilir.

Filtreyi tanımlarken bir filtre içine hizmeti kullanmak için bir bağımlılık olarak ekleyin:

Servis hexafy filtresi kullanılmıştır myFormat :

app.filter('myFormat',[ 'hexafy' , function( hexafy ) {
    return function(x) {
        return hexafy .myFunc(x);
    };
}]);
Kendin dene "

Bir nesne veya bir dizi değerleri gösteren zaman filtre kullanabilir:

Bir hizmet adlandırılmış oluştur hexafy :

<ul>
<li ng-repeat="x in counts">{{x | myFormat}}</li>
</ul>
Kendin dene "