Angularjs 父视图没有';t反映子控制器的更改
我对棱角有点陌生,所以如果这是一个noob问题,我道歉。基本上我有一个控制器,它试图改变父作用域上的值。它成功了,但父视图从未更新 我的父视图看起来是这样的:Angularjs 父视图没有';t反映子控制器的更改,angularjs,angularjs-scope,Angularjs,Angularjs Scope,我对棱角有点陌生,所以如果这是一个noob问题,我道歉。基本上我有一个控制器,它试图改变父作用域上的值。它成功了,但父视图从未更新 我的父视图看起来是这样的: <html ng-app="app" ng-controller="appController"> <head> ... </head> <body> This is the outer view.<br> <br> {
<html ng-app="app" ng-controller="appController">
<head>
...
</head>
<body>
This is the outer view.<br>
<br>
{{ welcome }}
<div ng-view style="width: 100%; border: 1px solid black; padding: 10px;">
</div>
</body>
</html>
代码执行了,但我从来没有像我预期的那样看到“它工作!!!!!!!”的消息。这里有一个plunker演示了我的问题:要像这样应用对父作用域的更改,需要将数据嵌套到对象中 例如,如果您的家庭控制器具有以下功能:
$scope.someObject = {};
$scope.someObject.welcome = "Hello from the appController!"
然后是您的子控制器:
$scope.$parent.someObject.welcome = "Hello from the homeController!";
这将正常工作
以下是更新的Plunker:
非常非常相关:你读过angularjs中的广播和发射事件吗?即使我是angularjs的新手,也读过这些事件,它们会帮助你解决问题。我个人更喜欢使用一种方法,比如:
$scope.$parent.someObject.welcome = "Hello from the homeController!";