현재 로그인 된 사용자 권한 수준을 저장하는 데 사용하는 다음 $ rootScope 변수가 있으며 다른 컨트롤러에서이 변수에 액세스합니다. 루트 스코프 변수를 변경하여 특정 변수를 컨트롤러에 업데이트하기 위해 변경 사항에 대한 rootScope 변수를 볼 수있는 방법이 있습니까? 아래 코드는 제가 지금까지 사용하고있는 코드입니다. 누군가 제가 제멋대로하고있는 것을 말해 주시겠습니까? .RUN 아래 app.js 감사
: $watch
에
$scope.$watch($rootScope.uPLevel, function() {
$scope.userPLevel = $rootScope.uPLevel;
}, true);
고마워요. 모든 서비스/컨트롤러 응용 프로그램에서 액세스 할 수있는 방법이 필요하기 때문에 rootscope에서 사용하고 있습니다. 서비스 내에서이 변수를 사용하는 것이 훨씬 더 좋다고 생각하십니까? 그렇다면 이유를 설명해주십시오. – MChan
@MChan 일반적으로'window'에 많은 변수를 붙이지 않는 것과 같은 이유로'$ rootScope'를 어지럽히는 것은 나쁜 생각입니다. 생각할 게있어. upvote하는 것을 잊지 마세요! – SomeKittens
@ SomeKittensUx2666은 $ rootScope에 물건을 올려 놓는 것을 막아야한다는 것이 맞습니다.이 경우에는 모든 컨트롤러/서비스가 변경 논리를 처리하기 위해들을 수있는 $ rootScope의 이벤트를 브로드 캐스트하는 것이 좋습니다. – Brocco