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