2016-05-16 2 views
0

Я пытаюсь добавить методы к protoype объекта, который будет использоваться в однопользовательской службе и будет инициирован только один раз при создании службы.Singleton JS Object in Angular Service

angular 
     .module('app.steps') 
     .factory('stepsService', stepsService); 

    stepsService.$inject = []; 

    /* @ngInject */ 
    function stepsService() { 
     var steps = new Steps(1,3); 

    function Steps(current_step, total_steps) { 
     this.c_step = current_step; 
     this.t_step = total_steps;    
    } 

    Steps.prototype = { 
     addSteps: function (num) { 
      this.c_step += num; 
     }, 
     setLastStep: function() { 
      this.lastStep = this.c_step = this.t_step; 
     } 
    }; 

    var service = { 
     steps: steps   
    };  

    return service; 
    } 

Моя проблема в том, что, хотя объект создан и успешно запущен, методов там нет. Что не хватает?

+1

Move 'вар шаги = новые шаги (1,3);' 'после Steps.prototype = {....}' –

+1

Вы должны создать объект 'вар шаги = новые шаги (1,3); 'after' Steps.prototype = {...}' – Saad

+0

отлично, это сработало! – badigard

ответ