sevenLee
11/26/2015 - 8:45 AM

Angular Factory - Singleton Factory

Angular Factory - Singleton Factory

var app = angular.module('plunker', []);

app.value('name', 7);
app.factory('foo', function(name) {
  return {
    name: ++name,
    share: 8
  };
});
app.controller('MainCtrl', function($scope, name, foo, bar) {
  $scope.name = name;
  $scope.foo = foo;
  $scope.bar = bar;
  $scope.foo.share = 95;
});
app.controller('MainCtrl2', function($scope, name, foo, bar) {
  $scope.name = name;
  $scope.foo = foo;
  $scope.foo.share = 92;
  $scope.bar = bar;
});
app.config(function($provide) {
  $provide.provider('bar', function() {
    this.$get = function(name) {
      return {
        name: --name
      };
    };
  });
});
<body >
  <span ng-controller="MainCtrl">
    Hello {{name}}, {{foo.name}}, {{bar.name}}! {{foo.share}}
  </span>
  <span ng-controller="MainCtrl2">
    Hello {{name}}, {{foo.name}}, {{bar.name}}! {{foo.share}}
  </span>
</body>

Hello 7, 8, 6! 92 Hello 7, 8, 6! 92