2013-03-13 5 views
0

이 같은 $ routeProvider에 내 컨트롤러를 전화로 호출되는 :

$routeProvider 
    .when('/home', { 
     templateUrl: "partials/main.html", 
     controller: "AppCtrl" 
    }); 

그래서 컨트롤러의 $scope의 초점은 partials/main.html의 내용 만 변경됩니다.
index.html에서 {{status}}을 변경해야하지만 컨트롤러에서 $scope.status = 'ready';을 변경하면 변경되지 않으며 main.html에있는 경우에만 변경됩니다.
어떻게하면됩니까?
대단히 감사합니다.

답변

1

AppCtrl과 관련된 범위는 기본적으로 index.html에 정의한 컨트롤러와 연결된 범위를 상속해야합니다. 해당 컨트롤러의 메소드를 정의하고 있습니다 (방식으로 인해 JavaScript prototypal inheritance 작품) 자녀 컨트롤러/범위에서 호출 할 수 있습니다

function MainCtrl($scope) { 
    $scope.updateStatus = function(newStatus) { 
     $scope.status = newStatus; 
    } 
} 

function AppCtrl($scope) { 
    ... 
    $scope.updateStatus(....); 
} 

Fiddle합니다. 바이올린에서는 ng-view를 사용하지 않지만 여전히 개념을 보여줍니다.

+0

와우 멋진 것들! 어리석은 질문처럼 들리는데 미안하지만, 나는 오래 전에 시작했다. 답장을 보내 주셔서 감사합니다. – Shadowbob