6. Farklı bir moduldeki servisi kullanmak

Angularjste farklı bir modülde bulunan servisi, bir diğer moduldeki controller içerisinden kullanmak istersek, ilk yapmamız gereken servisin bulunduğu modulu controllerin bulunduğu module tanıtmak. Bunun için de modulun  [ ] parantezleri içerisine diğer modulün adını yazmamız yeterli olacaktır.

   var myModule2 = angular.module("myModule2", ["myModule"]);

Daha sonrası ise aynı modüldeki servisin kullanımıyla aynı devam eder. Servisin ismi controllerdaki fonksiyona parametre olarak verilir ve bunun üzerinden ilgili fonksiyonlara ulaşılır.

      myModule2.controller("myController", function ($scope, hesapMakinesi)   .....

      $scope.toplaF = function () { $scope.sonuc = hesapMakinesi.topla($scope.sayi1,$scope.sayi2) } ....

Örnek kod : Aşağıdaki kodda myModule isimli modülün altında, hesapMakinesi isimli bir servis ve içerisine de topla, cikar, carp isimli 3 fonksiyon tanımladık. Daha sonra aşağısında myModule2 isimli bir module tanımladık ve sonrasında servisin bulunduğu myModule’u bu module tanıttık. Hemen sonrasında da controllerin içerisine, servisi parametre olarak vererek onun üzerinden servisin metotlarına ulaştık.

<html>

<head>
         <script src="~/Scripts/angular.js"></script>
         <script src="~/Scripts/angular-route.js"></script>
         <script> 
         
           var myModule = angular.module("myModule", []);

            myModule.service("hesapMakinesi", function () {

                 this.topla = function (s1, s2) {return (s1 + s2);}
                 this.cikar = function (s1, s2) {return s1 - s2;}
                 this.carp = function (s1, s2) {return s1 * s2;}

           });

           var myModule2 = angular.module("myModule2", ["myModule"]);

           myModule2.controller("myController", function ($scope, hesapMakinesi) {

           $scope.toplaF = function () { $scope.sonuc = hesapMakinesi.topla($scope.sayi1,$scope.sayi2) }
           $scope.cikarF = function () { $scope.sonuc = hesapMakinesi.cikar($scope.sayi1,$scope.sayi2) }
           $scope.carpF = function () { $scope.sonuc = hesapMakinesi.carp($scope.sayi1, $scope.sayi2) }

});

</script>
</head>
<body ng-App="myModule2">

<div ng-controller ="myController">

<b>Sayi 1:</b><input type="number" ng-model="sayi1"/><br/>

<b>Sayi 1:</b><input type="number" ng-model="sayi2" /><br/>
{{sonuc}}

<input type="button" value="topla" ng-click="toplaF()"/>
<input type="button" value="carp" ng-click="carpF()" />
<input type="button" value="cikar" ng-click="cikarF()" />

</div>

</body>