AngularJS decorate factory method
decorate a factory method didn't work as expected when that method used as contructor to create a object inside another method in same factory
HTML
<script src="https://code.angularjs.org/1.4.7/angular.min.js"></script>
<div ng-controller="myCtrl">
<p>{{text}}</p>
</div>
JavaScript
var app = angular.module('myApp', []);
var one = "1";
app.factory('playerFactory', function(one){
Player = function(){
this.type = "Taekwondo";
this.level = 1;
}
Player.prototype.upgrade = function(){
this.level++;
}
getPlayer = function(){
var p = new Player();
return p;
}
return {
getPlayer: getPlayer
}
});
app.controller('myCtrl', function($scope, playerFactory){
var p = playerFactory.getPlayer();
p.upgrade();
$scope.text = "Level "+p.level+" "+p.type+" player";
});
app.decorator('playerFactory', function($delegate){
$delegate.Player = function(){
this.type = one;
this.level = 3;
}
return $delegate;
});