我用$ routeProvider这样调用我的控制器:
$routeProvider
.when('/home', {
templateUrl: "partials/main.html",
controller: "AppCtrl"
});
因此$scope
在控制器中的重点只会改变partials/main.html
的内容
我需要在index.html中更改{{status}}
,但如果我在控制器中执行$scope.status = 'ready';
则不会更改,只有在main.html中才会更改。
我怎样才能做到这一点?
非常感谢你。
答案 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,但它仍然显示了这个概念。