Factory Servisi
Servis
Tanımlama
app.factory(‘factoryService’,
function()
{
return
{
hello: function(name)
{
return
name;
}
});
Dependency Olarak Controller’a tanımla
app.controller('CtrlName',
function
($scope,
factoryService)
});
<!DOCTYPE
html>
<html
ng-app="myApp">
<head>
<meta
charset="utf-8" />
<title>Sutuna Göre Sırala</title>
<script src="https://code.angularjs.org/1.5.0/angular.js"></script>
</head>
<body>
<div
ng-app="myApp"
ng-controller="ngKontrol">
<b>Sayı 1:</b> <input
type="number" ng-model="sayi1"/><br>
<b>Sayı 2:</b> <input
type="number" ng-model="sayi2"/><br>
<b>Sonuç:</b> {{sonuc}}<br/><br/>
<button ng-click="toplaF()">Sayıları Topla</button>
</div>
<script type="text/javascript">
var
hesapServis = angular.module("ngHesapServis", [])
.factory("hesap", function(){
var obj = {};
obj.topla = function(s1, s2){
return s1 + s2;
};
return obj;
});
var
uygulama = angular.module("myApp", ["ngHesapServis"]);
uygulama.controller("ngKontrol", function($scope, hesap){
$scope.toplaF = function(){
$scope.sonuc = hesap.topla($scope.sayi1, $scope.sayi2);
};
});
</script>
</body>
</html>
Provider Servisi
En gelişmiş ve en işlevsel servislerdir.
Factory’lerden farklı olarak konfigürasyon için kullanılıyorlar
ÖRNEK:
<!DOCTYPE html>
<html ng-app="myApp">
<head>
<meta charset="utf-8" />
<title>Sutuna Göre Sırala</title>
<script src="https://code.angularjs.org/1.5.0/angular.js"></script>
</head>
<body>
<div ng-app="ngUygulamam" ng-controller="ngKontrol">
{{icerik}}
</div>
<script type="text/javascript">
var uygulama = angular.module("myApp", []);
uygulama.controller('ngKontrol', function($scope,filtreService){
uygulama.controller('ngKontrol', function($scope,filtreService){
$scope.icerik=filtreService.filtrele("deneme.txt");
});
uygulama.service('filtreService',function($http){
uygulama.service('filtreService',function($http){
this.filtrele=function(dosyayolu){
$http.get(dosyayolu).then(function(response) {
return response.data.replace("angular","***").replace("sql","***").replace("java","***").replace("oracle","***");
});
}
})
</script>
</body>})
</script>
</html>
Hiç yorum yok:
Yorum Gönder