factory、service、provider
factory
, service
, provider
var myApp = angular.module('myApp', []);
/*
* Factory
*/
myApp.factory('Factory', function() {
return {
sayHello: function() {
return "Hello, ";
}
};
});
/*
* Service
*/
myApp.service('Service', function() {
this.sayHello = function() {
return "Hello, ";
};
});
/*
* Provider
*/
myApp.provider('Provider', function() {
this.name = ' ';
this.$get = function() {
var name = this.name;
return {
sayHello: function() {
return "Hello, " + name;
}
}
};
this.setName = function(name) {
this.name = name;
};
});
/*
* config provider
*/
myApp.config(function(myProvider){
myProvider.setName(' ');
});
/*
*
*/
function MyCtrl($scope, Provider, Factory, Service) {
$scope.hellos = [
Provider.sayHello(),
Factory.sayHello(),
Service.sayHello()];
}
factory
: factory
주입 가능한 것으로 function
.factory
를 사용하여 서비스를 만들 때 대상을 새로 만든 다음에 이 대상에 속성을 추가하고 마지막으로 이 대상을 되돌려주는 것과 같다.service
: service
주입 가능한 구조 함수입니다.service
는 단일 모드입니다.service
를 사용하여 서비스를 만들 때 new 키워드를 실례화한 셈이다.따라서 this
에 속성과 방법을 추가하면 서비스가 자동으로 되돌아온다this
.provider
는 구성 가능factory
입니다.provider
는 config()
함수에 주입하는 서비스를 만들 수 있는 유일한 방식이다.서비스가 시작되기 전에 모듈화된 설정을 하려면 provider
를 사용하세요.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.