Chapter 2: Using service factories
HTML
<script src="https://code.angularjs.org/1.3.2/angular.min.js"></script>
<div ng-app="myApp">
<div ng-controller="Ctrl">
<button ng-click="update()">Update</button>
{{ data.name }} #{{ data.number }}
</div>
<div ng-controller="Ctrl2">
<button ng-click="update()">Update</button>
{{ data.name }} #{{ data.number }}
</div>
</div>
JavaScript
angular.module('myApp', [])
.controller('Ctrl', function($scope, MyFactory) {
$scope.data = MyFactory.getPlayer();
$scope.update = MyFactory.swapPlayer;
})
.controller('Ctrl2', function($scope, MyFactory) {
$scope.data = MyFactory.getPlayer();
$scope.update = MyFactory.swapPlayer;
})
.factory('MyFactory', function() {
var a = 1;
var player = {
name: 'Peyton Manning',
number: 18
}, swap = function() {
player.name = 'A.J. Green';
};
return {
getPlayer: function() {
return player;
},
swapPlayer: function() {
a++;
console.log(a);
swap();
}
};
});