0

我用 $routeProvider 调用我的控制器,如下所示:

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

所以控制器中的焦点$scope只会改变 的内容partials/main.html
我需要更改{{status}}index.html,但如果我$scope.status = 'ready';在控制器中更改它不会更改,只有在 main.html 中才会更改。
我怎样才能使这项工作?
非常感谢你。

4

1 回答 1

1

与 AppCtrl 关联的范围原型应该从与您在 index.html 中定义的控制器关联的范围继承。在该控制器上定义一个方法,然后您可以从您的子控制器/范围调用它(因为JavaScript 原型继承的工作方式):

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

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

小提琴。在小提琴中,我不使用 ng-view,但它仍然显示了这个概念。

于 2013-03-13T22:38:43.487 回答