2014-01-24 3 views
1

필자는 모든 변수와 함수가 $ scope를 사용하기 전에 한 곳에서 정의 된 다음 내 응용 프로그램에서 사용되는 함수를 사용하고 있습니다. 예를 들어,

var app = angular 
    .module('app', 
     .... 
     ... 
    .run(['$rootScope', '$angularCacheFactory', 
     function ($rootScope, $angularCacheFactory) { 

     $scope.one-hour-cache = $angularCacheFactory('1-hour', { 
      maxAge: 3600000, 
      cacheFlushInterval: 3600000, 
      deleteOnExpire: 'aggressive', 
      storageMode: 'localStorage' 
     }); 

이렇게하면 모든 변수를 참조 할 때 항상 $ scope을 사용하지 않을 수 있습니까? 내 응용 프로그램이 ..... $ 범위의 전체되지 않도록

그럼

만약 내가 변수를 정의해야합니다 및 방법 = 일부 전역을 가지고 합리적인겠습니까?

+0

에 추가해야합니다 당신은 당신이 글로벌 데이터를 저장할 수있는 서비스를 창출하고 주입 할 수 있음을 알고 계십니까 그 데이터를 사용하려면 무엇이 필요합니까? – idursun

+2

질문에 "옳은"답변이 없다고 생각합니다. 내 말은, 무엇이 필요한지에 달려 있다고 생각합니다. 모든 프로젝트가 다른 세상이므로, 필요한 것을 따라 하나 또는 다른 솔루션을 선택할 수 있습니다. –

답변

-1

당신은 그 데이터 나 어떤 구조체를 서비스로 캡슐화하여 컨트롤러에 삽입해야합니다. 테스트를 작성하는 동안 미래에 지불하게 될 것입니다.

2

앱에서 의사 소통을 향상 시키려면 이벤트를 사용할 수 있습니다. 더 자세히보고 싶으면 관찰자와 조정자 패턴을 살펴볼 수 있습니다. 당신이 "전역 변수"를 사용 싶어 어쨌든

http://jorshasaur.us/simple-observer-pattern-in-angular/

, 당신은 $rootScope

관련 문제