angularJS Provider,factory,서비스 상세 설명 및 실례 코드

2764 단어
factory
Factory를 사용하면 객체를 만들고 속성을 추가한 다음 객체를 반환합니다.서비스를 컨트롤러에 전송하면 컨트롤러에 있는 대상의 속성은factory를 통해 사용할 수 있습니다.

app.controller('myFactoryCtrl', function($scope, myFactory){
  $scope.artist = myFactory.getArtis();
});
app.factory('myFactory', function(){
  var _artist = '';
  var service = {};

  service.getArtist = function(){
    return _artist;
  }
  return service;
});

service
Service는 new 키워드를 사용하여 인스턴스화됩니다.따라서'this'에 속성을 추가하고 서비스가'this'로 돌아와야 합니다.서비스를 controller에 전송한 후, controller에서'this'의 속성을 서비스로 사용할 수 있습니다.

app.controller('myFactoryCtrl', function($scope, myService){
  $scope.artist = myService.getArtis();
});
app.service('myService', function(){
  var _artist ='';
  this.getArtist = function(){
    return _artist;
  }
});
provider
Providers는 유일하게 네가 전송할 수 있는 것이다.config () 함수의 서비스입니다.서비스 대상이 활성화되기 전에 모듈 범위 설정을 하려면provider를 사용해야 합니다.

app.controller('myProviderCtrl', function($scope, myProvider){
  $scope.artist = myProvider.getArtist();
  $scope.data.thingFromConfig = myProvider.thingOnConfig;
});
app.provider('myProvider', function(){
  this._artist = '';
  this.thingFromConfig = '';

  this.$get = function(){
    var that = this;
    return {
       getArtist: function(){
         return that._artist;
       },
       thingOnConfig: that.thingFromConfig
    }
  }
});
app.config(function(myProviderProvider){
  myProviderProvider.thingFromConfig = 'This was set in config()';
});

value 및 constant

$provide.value('myValue', 10);
$provide.constant('myConstant', 10);
/*


 :
1. value ,constant 
2. value config ,constant 。
*/

provider,factory,서비스의 관계

app.provider('myDate', { 
  $get: function() { 
   return new Date(); 
  }
});
// 
app.factory('myDate', function(){ 
 return new Date();
});
// 
app.service('myDate', Date);
총결산
  • 모든 공급업체가 단 한 번만 실례화되었다. 즉, 그들은 모두 단례적이라고 한다
  • constant을 제외한 모든 공급업체는 장식기(decorator)로 장식할 수 있다
  • value는 간단한 주입 가능한 값
  • 이다
  • 서비스는 주입 가능한 구조기
  • 이다
  • factory는 주입 가능한 방법
  • decorator는 다른 공급업체를 수정하거나 봉인할 수 있습니다. 물론constant
  • 를 제외하고는
  • provider는 설정 가능한factory
  • 이상은angularJSProvider,factory,서비스에 대한 자료를 정리하고 관련 자료를 계속 보충합니다. 본 사이트에 대한 지지에 감사드립니다!

    좋은 웹페이지 즐겨찾기