2017-11-11 18 views
0

가 나는 그래서 앱을 통해 사용할 수 있습니다 rootScope에 필요한 scope 값을 가지고 있고, 그래서 내 인덱스 파일에 {{car}}에 접근하고 그 나에게 혼다을 제공

var app = angular.module('myApp', []); 
    app.run(function($rootScope) { 
    $rootScope.car= 'honda'; 
}); 
app.controller('myCtrl', function($scope) { 
    $scope.car= "suzuki"; 
}); 

처럼했다, 그 괜찮습니다.

$ scope.car 값에 액세스 할 수 없기 때문에 내가 필요한 것은 $rootScope.car에있는 $scope.car의 동일한 값으로 전역에 액세스하는 것입니다. 내가 같은 값을 원하는

이유는 다시 서비스를 작성, $scope.car, 나는 동적으로 긴 코드 후 JSON 구문 분석에서 오는 내 서비스 값을 가질 것이다 rootscope에서 얻을 수있는 좋은 방법이 아닙니다.

다른 어떤 방법으로도 동일한 컨트롤러 기능에서 $rootScope을 글로벌로 사용할 수있는 $scope처럼 사용할 수 있습니까?

또는 다른 옵션?

감사합니다.

답변

0

모든 응용 프로그램에 단일 루트 범위가 있으므로 컨트롤러에서 $ rootScope를 사용할 수 있습니다. 컨트롤러에 $ scope.car가있을 필요는 없습니다. 컨트롤러에 $ rootscope.car도 사용할 수 있습니다.

당신은 당신이 맨 위 rootscope 곳으로 자식 컨트롤러에서 변수에 액세스 할 수 있습니다

$rootScope.$on('eventname',function(event,data){ 
    console.log(data) 
    }) 

이 방법을 사용할 수 있습니다 자녀 컨트롤러

$rootScope.$emit('eventname',obj) 

에서 부모 컨트롤러에서 이벤트를 방송 할 수

0

eventname은 브로드 캐스트하려는 모든 이벤트입니다.