2014-11-06 2 views
0

한 페이지에 2 개의 별도 컨트롤러가 있습니다. 그들 중 하나는 이벤트를 방송하고 다른 하나는 이벤트를 청취합니다. 수신 대기 이벤트가 이벤트를 수신하면 범위 변수를 변경 한 다음 페이지를 인쇄합니다. 웬일인지, 나는 적용 범위를 본다. 그러나 그것이 페이지에 적용되는 것을 보지 못한다.AngularJS 범위가 html 페이지에 적용되지 않습니다.

$scope.$on('valuesUpdated', function(){ 
    $scope.Name = dataGrabber.Name; 
    $scope.Address = dataGrabber.Address;  
    window.print(); 
}); 
+0

문제를 탐지하는 데 필요한 데이터가 충분하지 않습니다. 관련 코드를 모두 게시하거나 Fiddle/Plunker에서이 문제를 재현 해보십시오. –

답변

1

제공된 정보가 주어지면 알려진 범위 숨기기 문제라고 생각합니다.

범위 상속은 일반적으로 간단합니다. 양방향 데이터 바인딩 (예 : 양식 요소, NG 모델)을 원시 ((예 : 숫자, 문자열, 부울)은 하위 범위 내부에서 상위 범위에 정의됩니다. 그것은 대부분의 사람들이 기대해야하는 방식으로 작동하지 않습니다. 자식 범위가 같은 이름의 부모 속성을 숨기거나 그늘지게하는 자체 속성을 가져 오는 것은 발생합니다. AngularJS가하는 일이 아닙니다. JavaScript 프로토 타입 상속이 작동하는 방식입니다.

$scope.data.Name 

또는 컨트롤러에 대한 표기법으로 컨트롤러 :이 솔루션을 사용하는 것입니다 More about it here...

표기법 객체.

관련 문제