用$ routeProvider调用后在主窗口中更改绑定

时间:2013-03-13 22:31:07

标签: angularjs

我用$ routeProvider这样调用我的控制器:

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

因此$scope在控制器中的重点只会改变partials/main.html的内容 我需要在index.html中更改{{status}},但如果我在控制器中执行$scope.status = 'ready';则不会更改,只有在main.html中才会更改。 我怎样才能做到这一点? 非常感谢你。

1 个答案:

答案 0 :(得分: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,但它仍然显示了这个概念。