2014-09-11 1 views
0

저장, 그것은 상태 :각도 자주 묻는 질문 서비스에 상반와 Angular.js 문서에서 원시 데이터

https://docs.angularjs.org/misc/faq 물론

는 글로벌 상태는 짜증 당신이 rootScope 아껴서, 당신 같은를 $ 사용해야합니다 모든 언어로 전역 변수를 사용할 수 있습니다. 특히 코드에만 사용하고 데이터는 사용하지 마십시오. $ rootScope에 함수를 넣으 려한다면, 필요한 곳으로 주입 할 수있는 서비스에 넣어 두는 것이 더 낫습니다. 더 쉽게 을 테스트했습니다.

반대로 삶의 목적이 인 데이터를 저장하고 반환하는 서비스는 만들지 마십시오.

저는 컨트롤러가 부풀어 오지 않도록하기 위해 원시 데이터를 서비스에 저장하라는 말을 항상했습니다. 또한 각도 데이터를 저장할 수 angular.module("app").value() 있습니다. 그렇다면 왜 그들은 don't create a service whose only purpose in life is to store and return bits of data라고할까요?

답변

1

각도로 표시된 valueconstant은 변경되지 않는 일정하고 정적 인 데이터입니다. 그래서, 당신이 거기에 저장할 것입니다. 동적인데 여러 영역에서 액세스 할 수 있어야하는 경우에는 service 또는 factory을 사용하십시오.

그들의 문장은 조금 모호하지만, 나는이 작업을 수행하지 않는, 그 의미를 생각 :

function MyService() { 

    this.appTitle = "My App Title"; 

} 

을 다음 앱의 제목을 알 필요가 사방을 주입. 이와 같은 것을 성취 할 수있는 더 좋은 방법이 있습니다.

물론 항상 귀하의 시나리오에 따라 다릅니다.

+0

'constant'는'.config()'에서 변경되었다는 의미이고'value'는 정적 일 필요는 없습니다. 또한,이 둘은 내가 들었던 공장들입니다. – dman

관련 문제