2014-07-23 4 views
0

AngularJS에서 팩토리를 사용하면 TokenRestangular URL 값을 변경할 수 있습니다.팩토리에서 변수 값 변경 AngularJS

예를 들어 나는이 작업을 수행 할 수 있습니다 :

.factory('projectFactory', ['TokenRestangular', function (TokenRestangular) { 
     var factory = { 
      projects: [] 
     }; 

     factory.get = function() { 
      return 
      resource = TokenRestangular.all('project'); 
       resource.getList() 
       .then(function (project) { 
        factory.project = project; 
        return factory.project; 

       }) 
     }; 
     return factory; 
    }]); 

내 컨트롤러

는 의미가 자원의 값 즉

var projects = projectFactory.get() 
    projects.TokenRestangular.all('a_different_url'); 

희망을 변경합니다.

답변

1

서비스가 가능하지만 공장 출하는 불가능합니다. 서비스는 싱글 톤 (singleton)으로 만들어 지므로 매번 주입 할 때마다 동일한 인스턴스가 생성됩니다. 공장에서는 새로운 것을 얻을 수 있습니다.

다음과 같은 간단한 서비스를하고 컨트롤러에 주입 할 수 있어야한다 :

myApp.service('SimpleService', function() { 
    this.localValue = 0; 
    this.setLocalValue = function(newValue) { 
     this.localValue = newValue; 
    } 
}); 

취소는 테스트 만에 갈 충분한을 제공한다!

+0

> 서비스에서는 가능하지만 공장에서는 가능하지 않습니다. --- 다른 길은 의미합니까? – Prometheus

+0

@ Spike - 아니, 내가 어떻게 말했는지 :) –