Provider example

by yoorek

HTML

<div ng-app='app'>
    <div ng-controller='Controller'>
        {{greeting}}
    </div>
</div>

JavaScript

var app = angular.module('app', []);
app.value('a', 123);
app.provider('greeter2', function() {
  var salutation = 'Hello';
  this.setSalutation = function(s) {
    salutation = s;
  }

  function Greeter(a) {
    this.greet = function() {
      return salutation + ' ' + a;
    }
  }

  this.$get = function(a) {
    return new Greeter(a);
  };
});

app.config(function(greeter2Provider) {
  greeter2Provider.setSalutation('Halo');
});

function Controller($scope, greeter2) {
  $scope.greeting = greeter2.greet();
}