Service, Provider, factory
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.15/angular.js"></script>
<div ng-app="app">
<div ng-controller="MyController">
<div>Value: {{o1}}</div>
<div>Constant: {{o2}}</div>
<div>Service: {{s1}}</div>
<div>Factory: {{s2}}</div>
<div>Provider: {{s3}}</div>
<div>Provider: {{s3.prop3}}</div>
</div>
</div>
JavaScript
angular.module('app', []);
angular.module('app').value('myObject1', {
prop1: "val1",
prop2: "val2"
});
angular.module('app').constant('myObject2', {
prop1: "val1",
prop2: "val2"
});
angular.module('app').service('myService1', function (dep1) {
this.prop1 = "val1";
this.prop2 = dep1.doWork();
this.prop3 = function () {};
});
angular.module('app').factory('myService2', function (dep1) {
var service = {
prop1: "val1",
prop2: dep1.doWork(),
prop3: function () {}
};
return service;
});
angular.module('app').provider('myService3', function () {
var prop1;
this.setIntialProp1Value = function (value) {
prop1 = value;
};
this.ananinki = function() {
return 'ananin ami';
}
this.$get = function (dep1) {
var service = {
prop1: prop1,
prop2: dep1.doWork(),
prop3: this.ananinki
};
return service;
};
});
angular.module('app').config(function (myService3Provider) {
myService3Provider.setIntialProp1Value("Tamer en buyuk");
});
angular.module('app').service('dep1', function () {
this.doWork = function () {
return "Done!";
};
});
angular.module('app').controller('MyController', function ($scope, myObject1, myObject2, myService1, myService2, myService3) {
$scope.o1 = myObject1;
$scope.o2 = myObject2;
$scope.s1 = myService1;
$scope.s2 = myService2;
$scope.s3 = myService3;
});