angularJS Provider,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);
총결산이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.