Chapter 2: Using service decorators
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>
JavaScript
angular.module('myApp', [])
.config(function($provide) {
$provide.decorator('Player', function($delegate) {
// $delegate is the Player service instance
$delegate.setPlayer('Eli Manning');
return $delegate;
});
})
.controller('Ctrl', function($scope, Player) {
$scope.data = Player.getPlayer();
$scope.update = Player.swapPlayer;
})
.factory('Player', function() {
var player = {
number: 10
}, swap = function() {
player.name = 'DeSean Jackson';
};
return {
setPlayer: function(newName) {
player.name = newName;
},
getPlayer: function() {
return player;
},
swapPlayer: function() {
swap();
}
};
});