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 "