Angularjs 서비스

2616 단어
1. 서비스 정의
간단하게 말하자면provider는'주입 컨트롤러'에 사용되는 대상이다. 주입 메커니즘은provider의 $get () 방법을 호출하여 얻은 물건을 매개 변수로 관련 호출한다. (예를 들어 얻은 서비스를 컨트롤러의 매개 변수로 하는 것)
// provider
  var pp = function(){
    this.$get = function(){
      return {'haha': '123'};
    }
  }
  
  // ,   PP  
  var app = angular.module('Demo', [], function($provide){
    $provide.provider('PP', pp);
  });
  
  //PP  pp   provider   $get()  
  app.controller('TestCtrl',
    function($scope, PP){
      console.log(PP);
    }
  );
서비스를 정의하는 두 가지 간략한 방법,
첫 번째는factory 방법입니다. $provide에서 제공합니다.module의factory는 인용입니다. 작용이 같습니다.이 방법은 함수를 하나의 대상의 $get () 방법으로 간주합니다. 이렇게 하면provider를 현저하게 정의할 필요가 없습니다.
var app = angular.module('Demo', [], function(){ });
app.factory('PP', function(){return {'abc': '123'}});
app.controller('TestCtrl', function($scope, PP){ console.log(PP) });

두 번째는요.
service
방법
$provide
제공,
module
에 대한 동명 참조가 있습니다. 
service
화목하다
factory
차이점은 전자는'구조 방법'을 요구하고 후자는 제공을 요구한다는 것이다
$get()
방법전자는 틀림없이object를 얻었다는 뜻이다
, 후자는 숫자나 문자열일 수 있다.
var app = angular.module('Demo', [], function(){ });
  app.service('PP', function(){
    this.abc = '123';
  });
  app.controller('TestCtrl', function($scope, PP){ console.log(PP) });

전체 예는 다음과 같습니다.
<html ng-app="app">
    <head>
        <script src="jquery-2.0.3.js"></script>
        <script src="angular.js"></script>
    </head>
    <body ng-controller="ctrl">
    </body>
    <script>


        var app = angular.module('app', []);

        app.factory('PP1', ['$filter', function($filter) {
            return {
                'name': 'jarred'
            };
        }]);

        app.service('PP2', ['$filter', function(filter) {
            this.name = 'jarred2';
        }]);

        app.controller('ctrl', ['$scope', 'PP1', 'PP2', function($scope, pp1, pp2) {
            console.log(pp1);
            console.log(pp2);
        }]);
    </script>
</html>

좋은 웹페이지 즐겨찾기